diff --git a/Editor/Scripts/GLTFImporterInspector.cs b/Editor/Scripts/GLTFImporterInspector.cs index b3297ab6e..efc1634ac 100644 --- a/Editor/Scripts/GLTFImporterInspector.cs +++ b/Editor/Scripts/GLTFImporterInspector.cs @@ -29,16 +29,16 @@ public override void OnEnable() var m_HasSceneData = serializedObject.FindProperty(nameof(GLTFImporter.m_HasSceneData)); if (m_HasSceneData.boolValue) - AddTab(new GltfAssetImporterTab(this, "Model", ModelInspectorGUI)); + AddTab(new GLTFAssetImporterTab(this, "Model", ModelInspectorGUI)); - AddTab(new GltfAssetImporterTab(this, "Animation", AnimationInspectorGUI)); + AddTab(new GLTFAssetImporterTab(this, "Animation", AnimationInspectorGUI)); var m_HasMaterialData = serializedObject.FindProperty(nameof(GLTFImporter.m_HasMaterialData)); var m_HasTextureData = serializedObject.FindProperty(nameof(GLTFImporter.m_HasTextureData)); if (m_HasMaterialData.boolValue || m_HasTextureData.boolValue) - AddTab(new GltfAssetImporterTab(this, "Materials", MaterialInspectorGUI)); + AddTab(new GLTFAssetImporterTab(this, "Materials", MaterialInspectorGUI)); - AddTab(new GltfAssetImporterTab(this, "Used Extensions", ExtensionInspectorGUI)); + AddTab(new GLTFAssetImporterTab(this, "Used Extensions", ExtensionInspectorGUI)); base.OnEnable(); } diff --git a/Editor/Scripts/GLTFSettingsInspector.cs b/Editor/Scripts/GLTFSettingsInspector.cs index 8f212e1c3..ca544cc76 100644 --- a/Editor/Scripts/GLTFSettingsInspector.cs +++ b/Editor/Scripts/GLTFSettingsInspector.cs @@ -149,7 +149,7 @@ internal static void DrawGLTFSettingsGUI(GLTFSettings settings, SerializedObject private static Dictionary editorCache = new Dictionary(); - internal static void OnPluginsGUI(IEnumerable plugins, bool allowDisabling = true) + internal static void OnPluginsGUI(IEnumerable plugins, bool allowDisabling = true) { var lastAssembly = ""; foreach (var plugin in plugins @@ -186,7 +186,7 @@ internal static void OnPluginsGUI(IEnumerable plugins, bool allowDis // GUILayout.Toggle(true, new GUIContent("", "Always enabled."), GUILayout.Width(12)); // EditorGUI.EndDisabledGroup(); if (allowDisabling) - GUILayout.Label(GUIContent.none, GUILayout.Width(12)); + GUILayout.Label(GUIContent.none, GUILayout.Width(11)); } else { diff --git a/Editor/Scripts/Internal/UnityGLTFTabbedEditor.cs b/Editor/Scripts/Internal/UnityGLTFTabbedEditor.cs index 84e01bf35..28dc81ce9 100644 --- a/Editor/Scripts/Internal/UnityGLTFTabbedEditor.cs +++ b/Editor/Scripts/Internal/UnityGLTFTabbedEditor.cs @@ -12,11 +12,11 @@ namespace UnityGLTF { internal class UnityGLTFTabbedEditor : AssetImporterTabbedEditor { - private readonly List _tabs = new List(); + private readonly List _tabs = new List(); internal int TabCount => _tabs.Count; internal BaseAssetImporterTabUI __ActiveTab => activeTab; - protected void AddTab(GltfAssetImporterTab tab) + protected void AddTab(GLTFAssetImporterTab tab) { if (tab == null) return; if (!_tabs.Contains(tab)) _tabs.Add(tab); @@ -24,7 +24,7 @@ protected void AddTab(GltfAssetImporterTab tab) m_TabNames = _tabs.Select(t => t.Label).ToArray(); } - public GltfAssetImporterTab GetTab(int index) + public GLTFAssetImporterTab GetTab(int index) { if (_tabs == null || _tabs.Count < 1) return null; if (index < 0) index = 0; @@ -47,12 +47,12 @@ public override void OnEnable() } } - internal class GltfAssetImporterTab : BaseAssetImporterTabUI + internal class GLTFAssetImporterTab : BaseAssetImporterTabUI { internal readonly string Label; private readonly Action _tabGui; - public GltfAssetImporterTab(AssetImporterEditor panelContainer, string label, Action tabGui) : base(panelContainer) + public GLTFAssetImporterTab(AssetImporterEditor panelContainer, string label, Action tabGui) : base(panelContainer) { this.Label = label; this._tabGui = tabGui; diff --git a/Editor/Scripts/Plugins/GltfPluginEditor.cs b/Editor/Scripts/Plugins/GltfPluginEditor.cs index 77b1987fd..cd9ba21ca 100644 --- a/Editor/Scripts/Plugins/GltfPluginEditor.cs +++ b/Editor/Scripts/Plugins/GltfPluginEditor.cs @@ -3,7 +3,7 @@ namespace UnityGLTF { - [CustomEditor(typeof(GltfPlugin), true)] + [CustomEditor(typeof(GLTFPlugin), true)] public class GltfPluginEditor: Editor { // Follows the default implementation of OnInspectorGUI, but skips the script field diff --git a/Editor/Scripts/Plugins/RegisteredImportPlugins.cs b/Editor/Scripts/Plugins/RegisteredImportPlugins.cs index c110da66d..f7b13d309 100644 --- a/Editor/Scripts/Plugins/RegisteredImportPlugins.cs +++ b/Editor/Scripts/Plugins/RegisteredImportPlugins.cs @@ -8,7 +8,7 @@ namespace UnityGLTF { internal static class RegisteredImportPlugins { - internal static readonly List Plugins = new List(); + internal static readonly List Plugins = new List(); [InitializeOnLoadMethod] public static void Init() diff --git a/Runtime/Scripts/GLTFSceneExporter.cs b/Runtime/Scripts/GLTFSceneExporter.cs index 887e342a8..aad522e72 100644 --- a/Runtime/Scripts/GLTFSceneExporter.cs +++ b/Runtime/Scripts/GLTFSceneExporter.cs @@ -53,10 +53,10 @@ public ExportContext(GLTFSettings settings) public GLTFSceneExporter.AfterTextureExportDelegate AfterTextureExport; public GLTFSceneExporter.AfterPrimitiveExportDelegate AfterPrimitiveExport; - internal GltfExportPluginContext GetExportContextCallbacks() => new ExportContextCallbacks(this); + internal GLTFExportPluginContext GetExportContextCallbacks() => new ExportContextCallbacks(this); #pragma warning disable CS0618 // Type or member is obsolete - internal class ExportContextCallbacks : GltfExportPluginContext + internal class ExportContextCallbacks : GLTFExportPluginContext { private readonly ExportContext _exportContext; @@ -119,7 +119,7 @@ public partial class GLTFSceneExporter public delegate void AfterPrimitiveExportDelegate(GLTFSceneExporter exporter, Mesh mesh, MeshPrimitive primitive, int index); - private class LegacyCallbacksPlugin : GltfExportPluginContext + private class LegacyCallbacksPlugin : GLTFExportPluginContext { public override void AfterSceneExport(GLTFSceneExporter exporter, GLTFRoot gltfRoot) => GLTFSceneExporter.AfterSceneExport?.Invoke(exporter, gltfRoot); public override void BeforeSceneExport(GLTFSceneExporter exporter, GLTFRoot gltfRoot) => GLTFSceneExporter.BeforeSceneExport?.Invoke(exporter, gltfRoot); @@ -147,7 +147,7 @@ public override bool BeforeMaterialExport(GLTFSceneExporter exporter, GLTFRoot g } private static ILogger Debug = UnityEngine.Debug.unityLogger; - private List _plugins = new List(); + private List _plugins = new List(); public struct TextureMapType { diff --git a/Runtime/Scripts/GLTFSettings.cs b/Runtime/Scripts/GLTFSettings.cs index 70d63248e..42dea36ff 100644 --- a/Runtime/Scripts/GLTFSettings.cs +++ b/Runtime/Scripts/GLTFSettings.cs @@ -30,10 +30,10 @@ public enum BlendShapeExportPropertyFlags // Plugins [SerializeField, HideInInspector] - public List ImportPlugins = new List(); + public List ImportPlugins = new List(); [SerializeField, HideInInspector] - public List ExportPlugins = new List(); + public List ExportPlugins = new List(); [Header("Export Settings")] [SerializeField] @@ -115,7 +115,7 @@ public bool UseAnimationPointer plugin.Enabled = value; if (!value || plugin != null) return; - if (ExportPlugins == null) ExportPlugins = new List(); + if (ExportPlugins == null) ExportPlugins = new List(); ExportPlugins.Add(CreateInstance()); #if UNITY_EDITOR EditorUtility.SetDirty(this); @@ -218,14 +218,14 @@ public static bool TryGetSettings(out GLTFSettings settings) private static void RegisterPlugins(GLTFSettings settings) { // Initialize - if (settings.ImportPlugins == null) settings.ImportPlugins = new List(); - if (settings.ExportPlugins == null) settings.ExportPlugins = new List(); + if (settings.ImportPlugins == null) settings.ImportPlugins = new List(); + if (settings.ExportPlugins == null) settings.ExportPlugins = new List(); // Cleanup settings.ImportPlugins.RemoveAll(x => x == null); settings.ExportPlugins.RemoveAll(x => x == null); - void FindAndRegisterPlugins(List plugins) where T : GltfPlugin + void FindAndRegisterPlugins(List plugins) where T : GLTFPlugin { foreach (var pluginType in TypeCache.GetTypesDerivedFrom()) { diff --git a/Runtime/Scripts/Plugins/AnimationPointerExport.cs b/Runtime/Scripts/Plugins/AnimationPointerExport.cs index ba5554db0..8569a2ff2 100644 --- a/Runtime/Scripts/Plugins/AnimationPointerExport.cs +++ b/Runtime/Scripts/Plugins/AnimationPointerExport.cs @@ -1,17 +1,17 @@ namespace UnityGLTF.Plugins { - public class AnimationPointerExport: GltfExportPlugin + public class AnimationPointerExport: GLTFExportPlugin { public override string DisplayName => "KHR_animation_pointer"; public override string Description => "Animate arbitrary material and object properties. Without this extension, only node transforms and blend shape weights can be animated."; public override bool EnabledByDefault => false; - public override GltfExportPluginContext CreateInstance(ExportContext context) + public override GLTFExportPluginContext CreateInstance(ExportContext context) { return new AnimationPointerExportContext(); } } - public class AnimationPointerExportContext: GltfExportPluginContext + public class AnimationPointerExportContext: GLTFExportPluginContext { } diff --git a/Runtime/Scripts/Plugins/Core/GltfExportPlugin.cs b/Runtime/Scripts/Plugins/Core/GltfExportPlugin.cs index 20e7e0f73..b4e21227d 100644 --- a/Runtime/Scripts/Plugins/Core/GltfExportPlugin.cs +++ b/Runtime/Scripts/Plugins/Core/GltfExportPlugin.cs @@ -3,15 +3,15 @@ namespace UnityGLTF.Plugins { - public abstract class GltfExportPlugin: GltfPlugin + public abstract class GLTFExportPlugin: GLTFPlugin { /// /// Return the Plugin Instance that receives the import callbacks /// - public abstract GltfExportPluginContext CreateInstance(ExportContext context); + public abstract GLTFExportPluginContext CreateInstance(ExportContext context); } - public abstract class GltfExportPluginContext + public abstract class GLTFExportPluginContext { public virtual void BeforeSceneExport(GLTFSceneExporter exporter, GLTFRoot gltfRoot) {} public virtual void AfterSceneExport(GLTFSceneExporter exporter, GLTFRoot gltfRoot) {} diff --git a/Runtime/Scripts/Plugins/Core/GltfExportPlugin.cs.meta b/Runtime/Scripts/Plugins/Core/GltfExportPlugin.cs.meta index 04e03ae7a..b227e704a 100644 --- a/Runtime/Scripts/Plugins/Core/GltfExportPlugin.cs.meta +++ b/Runtime/Scripts/Plugins/Core/GltfExportPlugin.cs.meta @@ -1,3 +1,11 @@ fileFormatVersion: 2 guid: 201693f491d641c3a7bf53d98828d59c -timeCreated: 1703879501 \ No newline at end of file +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Scripts/Plugins/Core/GltfImportPlugin.cs b/Runtime/Scripts/Plugins/Core/GltfImportPlugin.cs index 6f534a8b2..54e86b8b5 100644 --- a/Runtime/Scripts/Plugins/Core/GltfImportPlugin.cs +++ b/Runtime/Scripts/Plugins/Core/GltfImportPlugin.cs @@ -4,18 +4,18 @@ namespace UnityGLTF.Plugins { - public abstract class GltfImportPlugin : GltfPlugin + public abstract class GLTFImportPlugin : GLTFPlugin { /// /// Return the Plugin Instance that receives the import callbacks /// - public abstract GltfImportPluginContext CreateInstance(GLTFImportContext context); + public abstract GLTFImportPluginContext CreateInstance(GLTFImportContext context); } /// /// Instances are created during import once, they don't have to worry about clearing state /// - public abstract class GltfImportPluginContext + public abstract class GLTFImportPluginContext { /// /// Called before import starts diff --git a/Runtime/Scripts/Plugins/Core/GltfImportPlugin.cs.meta b/Runtime/Scripts/Plugins/Core/GltfImportPlugin.cs.meta index 4ec253779..c2e8bdb68 100644 --- a/Runtime/Scripts/Plugins/Core/GltfImportPlugin.cs.meta +++ b/Runtime/Scripts/Plugins/Core/GltfImportPlugin.cs.meta @@ -1,3 +1,11 @@ -fileFormatVersion: 2 +fileFormatVersion: 2 guid: 39aa6324e7624d7ea0267a95b9674acf -timeCreated: 1680099856 \ No newline at end of file +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Scripts/Plugins/Core/GltfPlugin.cs b/Runtime/Scripts/Plugins/Core/GltfPlugin.cs index 7f21fc4dc..6448c69c3 100644 --- a/Runtime/Scripts/Plugins/Core/GltfPlugin.cs +++ b/Runtime/Scripts/Plugins/Core/GltfPlugin.cs @@ -31,7 +31,7 @@ namespace UnityGLTF.Plugins // For each new instance of GLTFSceneExporter, new instances of plugins are created. // For each new instance of GLTFSceneImporter, new instances of plugins are created. - public abstract class GltfPlugin: ScriptableObject + public abstract class GLTFPlugin: ScriptableObject { public abstract string DisplayName { get; } public virtual string Description => null; diff --git a/Runtime/Scripts/Plugins/Core/GltfPlugin.cs.meta b/Runtime/Scripts/Plugins/Core/GltfPlugin.cs.meta index 426962e5a..61fa185bc 100644 --- a/Runtime/Scripts/Plugins/Core/GltfPlugin.cs.meta +++ b/Runtime/Scripts/Plugins/Core/GltfPlugin.cs.meta @@ -1,3 +1,11 @@ fileFormatVersion: 2 guid: faaa3712025f4258a16c9afa9e8d1fc6 -timeCreated: 1703880672 \ No newline at end of file +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Scripts/Plugins/Core/ImportContext.cs b/Runtime/Scripts/Plugins/Core/ImportContext.cs index 151b98b33..7907b5c7b 100644 --- a/Runtime/Scripts/Plugins/Core/ImportContext.cs +++ b/Runtime/Scripts/Plugins/Core/ImportContext.cs @@ -16,14 +16,14 @@ public class GLTFImportContext public readonly AssetImporter SourceImporter; #endif - public readonly List Plugins; + public readonly List Plugins; public GLTFSceneImporter SceneImporter; public GLTFRoot Root => SceneImporter?.Root; - private List InitializePlugins(GLTFSettings settings) + private List InitializePlugins(GLTFSettings settings) { - var plugins = new List(); + var plugins = new List(); foreach (var plugin in settings.ImportPlugins) { if (plugin != null && plugin.Enabled) @@ -51,7 +51,7 @@ internal GLTFImportContext(GLTFSettings settings) Plugins = InitializePlugins(settings); } - public bool TryGetPlugin(out GltfImportPluginContext o) where T: GltfImportPluginContext + public bool TryGetPlugin(out GLTFImportPluginContext o) where T: GLTFImportPluginContext { foreach (var plugin in Plugins) { diff --git a/Runtime/Scripts/Plugins/DracoImport.cs b/Runtime/Scripts/Plugins/DracoImport.cs index 18c5de9f6..cee0440af 100644 --- a/Runtime/Scripts/Plugins/DracoImport.cs +++ b/Runtime/Scripts/Plugins/DracoImport.cs @@ -1,10 +1,10 @@ namespace UnityGLTF.Plugins { - public class DracoImport: GltfImportPlugin + public class DracoImport: GLTFImportPlugin { public override string DisplayName => "KHR_draco_mesh_compression"; public override string Description => "Import Draco compressed meshes."; - public override GltfImportPluginContext CreateInstance(GLTFImportContext context) + public override GLTFImportPluginContext CreateInstance(GLTFImportContext context) { return new DracoImportContext(); } @@ -14,7 +14,7 @@ public override GltfImportPluginContext CreateInstance(GLTFImportContext context #endif } - public class DracoImportContext: GltfImportPluginContext + public class DracoImportContext: GLTFImportPluginContext { } diff --git a/Runtime/Scripts/Plugins/Experimental/BakeParticleSystem.cs b/Runtime/Scripts/Plugins/Experimental/BakeParticleSystem.cs index 8b11dd247..9930201a8 100644 --- a/Runtime/Scripts/Plugins/Experimental/BakeParticleSystem.cs +++ b/Runtime/Scripts/Plugins/Experimental/BakeParticleSystem.cs @@ -4,18 +4,18 @@ namespace UnityGLTF.Plugins { - public class BakeParticleSystem: GltfExportPlugin + public class BakeParticleSystem: GLTFExportPlugin { public override string DisplayName => "Bake to Mesh: Particle Systems"; public override string Description => "Exports the current frame of all Particle Systems as a static mesh."; public override bool EnabledByDefault => false; - public override GltfExportPluginContext CreateInstance(ExportContext context) + public override GLTFExportPluginContext CreateInstance(ExportContext context) { return new BakeParticleSystemContext(); } } - public class BakeParticleSystemContext: GltfExportPluginContext + public class BakeParticleSystemContext: GLTFExportPluginContext { private readonly List _components = new List(); private readonly List _objects = new List(); diff --git a/Runtime/Scripts/Plugins/Experimental/CanvasExport.cs b/Runtime/Scripts/Plugins/Experimental/CanvasExport.cs index a352f7c95..0dc9b4abd 100644 --- a/Runtime/Scripts/Plugins/Experimental/CanvasExport.cs +++ b/Runtime/Scripts/Plugins/Experimental/CanvasExport.cs @@ -7,18 +7,18 @@ namespace UnityGLTF.Plugins { - public class CanvasExport : GltfExportPlugin + public class CanvasExport : GLTFExportPlugin { public override string DisplayName => "Bake to Mesh: Canvas"; public override string Description => "Bakes UI Canvas components to meshes and materials. Render order is estimated by slight transform offsets; results might differ in viewers depending on how transparent objects are sorted."; public override bool EnabledByDefault => false; - public override GltfExportPluginContext CreateInstance(ExportContext context) + public override GLTFExportPluginContext CreateInstance(ExportContext context) { return new CanvasExportContext(); } } - public class CanvasExportContext: GltfExportPluginContext + public class CanvasExportContext: GLTFExportPluginContext { private static Shader shader; diff --git a/Runtime/Scripts/Plugins/Experimental/Invisible.mat b/Runtime/Scripts/Plugins/Experimental/Invisible.mat index f22e42cf4..c78d50ac9 100644 --- a/Runtime/Scripts/Plugins/Experimental/Invisible.mat +++ b/Runtime/Scripts/Plugins/Experimental/Invisible.mat @@ -84,6 +84,7 @@ Material: m_Ints: [] m_Floats: - _AlphaClip: 1 + - _AlphaToMask: 1 - _Blend: 0 - _BlendModePreserveSpecular: 1 - _BumpScale: 1 @@ -130,4 +131,4 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} m_Name: m_EditorClassIdentifier: - version: 6 + version: 7 diff --git a/Runtime/Scripts/Plugins/Experimental/MaterialVariantsPlugin.cs b/Runtime/Scripts/Plugins/Experimental/MaterialVariantsPlugin.cs index ddae62338..5bf7fa084 100644 --- a/Runtime/Scripts/Plugins/Experimental/MaterialVariantsPlugin.cs +++ b/Runtime/Scripts/Plugins/Experimental/MaterialVariantsPlugin.cs @@ -7,17 +7,17 @@ namespace UnityGLTF.Plugins { - public class MaterialVariantsPlugin: GltfExportPlugin + public class MaterialVariantsPlugin: GLTFExportPlugin { public override string DisplayName => "KHR_materials_variants"; public override string Description => "Allows exporting multiple material and object variants in one glTF file. Viewers implementing KHR_materials_variants typically allow choosing which variants to display. Disabled objects are emulated with an \"invisible\" material."; - public override GltfExportPluginContext CreateInstance(ExportContext context) + public override GLTFExportPluginContext CreateInstance(ExportContext context) { return new KHR_materials_variants_context(); } } - public class KHR_materials_variants_context : GltfExportPluginContext + public class KHR_materials_variants_context : GLTFExportPluginContext { public override void AfterSceneExport(GLTFSceneExporter exporter, GLTFRoot gltfroot) { diff --git a/Runtime/Scripts/Plugins/Experimental/TextMeshGameObjectExport.cs b/Runtime/Scripts/Plugins/Experimental/TextMeshGameObjectExport.cs index 4c4951800..817a69b47 100644 --- a/Runtime/Scripts/Plugins/Experimental/TextMeshGameObjectExport.cs +++ b/Runtime/Scripts/Plugins/Experimental/TextMeshGameObjectExport.cs @@ -5,11 +5,11 @@ namespace UnityGLTF.Plugins { - public class TextMeshGameObjectExport : GltfExportPlugin + public class TextMeshGameObjectExport : GLTFExportPlugin { public override string DisplayName => "Bake to Mesh: TextMeshPro GameObjects"; public override string Description => "Bakes 3D TextMeshPro objects (not UI/Canvas) into meshes and attempts to faithfully apply their shader settings to generate the font texture."; - public override GltfExportPluginContext CreateInstance(ExportContext context) + public override GLTFExportPluginContext CreateInstance(ExportContext context) { #if HAVE_TMPRO return new TextMeshExportContext(); @@ -23,7 +23,7 @@ public override GltfExportPluginContext CreateInstance(ExportContext context) #endif } - public class TextMeshExportContext: GltfExportPluginContext + public class TextMeshExportContext: GLTFExportPluginContext { public override void AfterSceneExport(GLTFSceneExporter _, GLTFRoot __) { diff --git a/Runtime/Scripts/Plugins/Ktx2Import.cs b/Runtime/Scripts/Plugins/Ktx2Import.cs index 8b008cd35..53c9b20fb 100644 --- a/Runtime/Scripts/Plugins/Ktx2Import.cs +++ b/Runtime/Scripts/Plugins/Ktx2Import.cs @@ -1,10 +1,10 @@ namespace UnityGLTF.Plugins { - public class Ktx2Import: GltfImportPlugin + public class Ktx2Import: GLTFImportPlugin { public override string DisplayName => "KHR_texture_basisu"; public override string Description => "Import textures using the KTX2 supercompression format (ETC1S, UASTC)."; - public override GltfImportPluginContext CreateInstance(GLTFImportContext context) + public override GLTFImportPluginContext CreateInstance(GLTFImportContext context) { return new Ktx2ImportContext(); } @@ -14,7 +14,7 @@ public override GltfImportPluginContext CreateInstance(GLTFImportContext context #endif } - public class Ktx2ImportContext: GltfImportPluginContext + public class Ktx2ImportContext: GLTFImportPluginContext { } diff --git a/Runtime/Scripts/Plugins/LightsPunctualExport.cs b/Runtime/Scripts/Plugins/LightsPunctualExport.cs index efd059c43..3c1e1d0f5 100644 --- a/Runtime/Scripts/Plugins/LightsPunctualExport.cs +++ b/Runtime/Scripts/Plugins/LightsPunctualExport.cs @@ -1,17 +1,23 @@ +using GLTF.Schema; +using UnityEngine; + namespace UnityGLTF.Plugins { - public class LightsPunctualExport: GltfExportPlugin + public class LightsPunctualExport: GLTFExportPlugin { public override string DisplayName => "KHR_lights_punctual"; public override string Description => "Exports punctual lights (directional, point, spot)."; - public override GltfExportPluginContext CreateInstance(ExportContext context) + public override GLTFExportPluginContext CreateInstance(ExportContext context) { return new LightsPunctualExportContext(); } } - public class LightsPunctualExportContext: GltfExportPluginContext + public class LightsPunctualExportContext: GLTFExportPluginContext { - + public override void AfterNodeExport(GLTFSceneExporter exporter, GLTFRoot gltfRoot, Transform transform, Node node) + { + base.AfterNodeExport(exporter, gltfRoot, transform, node); + } } } \ No newline at end of file diff --git a/Runtime/Scripts/Plugins/LightsPunctualImport.cs b/Runtime/Scripts/Plugins/LightsPunctualImport.cs index cef6dbf8c..700b8ab81 100644 --- a/Runtime/Scripts/Plugins/LightsPunctualImport.cs +++ b/Runtime/Scripts/Plugins/LightsPunctualImport.cs @@ -1,16 +1,16 @@ namespace UnityGLTF.Plugins { - public class LightsPunctualImport: GltfImportPlugin + public class LightsPunctualImport: GLTFImportPlugin { public override string DisplayName => "KHR_lights_punctual"; public override string Description => "Imports punctual lights (directional, point, spot)."; - public override GltfImportPluginContext CreateInstance(GLTFImportContext context) + public override GLTFImportPluginContext CreateInstance(GLTFImportContext context) { return new LightsPunctualImportContext(); } } - public class LightsPunctualImportContext: GltfImportPluginContext + public class LightsPunctualImportContext: GLTFImportPluginContext { } diff --git a/Runtime/Scripts/Plugins/LodsExport.cs b/Runtime/Scripts/Plugins/LodsExport.cs index a03d02a57..2b525e6d3 100644 --- a/Runtime/Scripts/Plugins/LodsExport.cs +++ b/Runtime/Scripts/Plugins/LodsExport.cs @@ -5,17 +5,17 @@ namespace UnityGLTF.Plugins { - public class LodsExport : GltfExportPlugin + public class LodsExport : GLTFExportPlugin { public override string DisplayName => "MSFT_lod"; public override string Description => "Exports LODGroup components as MSFT_lod extension."; - public override GltfExportPluginContext CreateInstance(ExportContext context) + public override GLTFExportPluginContext CreateInstance(ExportContext context) { return new MSFT_lods_Extension(); } } - public class MSFT_lods_Extension: GltfExportPluginContext + public class MSFT_lods_Extension: GLTFExportPluginContext { public override void AfterNodeExport(GLTFSceneExporter exporter, GLTFRoot gltfroot, Transform transform, Node node) { diff --git a/Runtime/Scripts/Plugins/LodsImport.cs b/Runtime/Scripts/Plugins/LodsImport.cs index 19e6ccc5e..068dddcbb 100644 --- a/Runtime/Scripts/Plugins/LodsImport.cs +++ b/Runtime/Scripts/Plugins/LodsImport.cs @@ -1,16 +1,16 @@ namespace UnityGLTF.Plugins { - public class LodsImport: GltfImportPlugin + public class LodsImport: GLTFImportPlugin { public override string DisplayName => "MSFT_lod"; public override string Description => "Creates LODGroups from glTF LODs."; - public override GltfImportPluginContext CreateInstance(GLTFImportContext context) + public override GLTFImportPluginContext CreateInstance(GLTFImportContext context) { return new LodsImportContext(); } } - public class LodsImportContext: GltfImportPluginContext + public class LodsImportContext: GLTFImportPluginContext { } diff --git a/Runtime/Scripts/Plugins/MaterialExtensionsExport.cs b/Runtime/Scripts/Plugins/MaterialExtensionsExport.cs index 59c7e44fe..f3da69b35 100644 --- a/Runtime/Scripts/Plugins/MaterialExtensionsExport.cs +++ b/Runtime/Scripts/Plugins/MaterialExtensionsExport.cs @@ -5,7 +5,7 @@ namespace UnityGLTF.Plugins { - public class MaterialExtensionsExport: GltfExportPlugin + public class MaterialExtensionsExport: GLTFExportPlugin { public bool KHR_materials_ior = true; public bool KHR_materials_transmission = true; @@ -15,7 +15,7 @@ public class MaterialExtensionsExport: GltfExportPlugin public bool KHR_materials_clearcoat = true; public bool KHR_materials_emissive_strength = true; - public override GltfExportPluginContext CreateInstance(ExportContext context) + public override GLTFExportPluginContext CreateInstance(ExportContext context) { return new MaterialExtensionsExportContext(this); } @@ -33,7 +33,7 @@ public override GltfExportPluginContext CreateInstance(ExportContext context) "; } - public class MaterialExtensionsExportContext: GltfExportPluginContext + public class MaterialExtensionsExportContext: GLTFExportPluginContext { internal readonly MaterialExtensionsExport settings; diff --git a/Runtime/Scripts/Plugins/MaterialExtensionsImport.cs b/Runtime/Scripts/Plugins/MaterialExtensionsImport.cs index 2844d398d..28a46abdb 100644 --- a/Runtime/Scripts/Plugins/MaterialExtensionsImport.cs +++ b/Runtime/Scripts/Plugins/MaterialExtensionsImport.cs @@ -2,7 +2,7 @@ namespace UnityGLTF.Plugins { - public class MaterialExtensionsImport: GltfImportPlugin + public class MaterialExtensionsImport: GLTFImportPlugin { public bool KHR_materials_ior = true; public bool KHR_materials_transmission = true; @@ -16,13 +16,13 @@ public class MaterialExtensionsImport: GltfImportPlugin public override string DisplayName => "KHR_materials_* PBR Next Extensions"; public override string Description => "Import support for various glTF material extensions."; - public override GltfImportPluginContext CreateInstance(GLTFImportContext context) + public override GLTFImportPluginContext CreateInstance(GLTFImportContext context) { return new MaterialExtensionsImportContext(this); } } - public class MaterialExtensionsImportContext : GltfImportPluginContext + public class MaterialExtensionsImportContext : GLTFImportPluginContext { internal readonly MaterialExtensionsImport settings; diff --git a/Runtime/Scripts/Plugins/MeshoptImport.cs b/Runtime/Scripts/Plugins/MeshoptImport.cs index 7d8c07ea5..354f50d9b 100644 --- a/Runtime/Scripts/Plugins/MeshoptImport.cs +++ b/Runtime/Scripts/Plugins/MeshoptImport.cs @@ -1,10 +1,10 @@ namespace UnityGLTF.Plugins { - public class MeshoptImport: GltfImportPlugin + public class MeshoptImport: GLTFImportPlugin { public override string DisplayName => "EXT_meshopt_compression"; public override string Description => "Import Meshopt compressed meshes."; - public override GltfImportPluginContext CreateInstance(GLTFImportContext context) + public override GLTFImportPluginContext CreateInstance(GLTFImportContext context) { return new MeshoptImportContext(); } @@ -14,7 +14,7 @@ public override GltfImportPluginContext CreateInstance(GLTFImportContext context #endif } - public class MeshoptImportContext: GltfImportPluginContext + public class MeshoptImportContext: GLTFImportPluginContext { } diff --git a/Runtime/Scripts/Plugins/TextureTransformExport.cs b/Runtime/Scripts/Plugins/TextureTransformExport.cs index d988de694..8b53a5802 100644 --- a/Runtime/Scripts/Plugins/TextureTransformExport.cs +++ b/Runtime/Scripts/Plugins/TextureTransformExport.cs @@ -1,11 +1,11 @@ namespace UnityGLTF.Plugins { - public class TextureTransformExport: GltfExportPlugin + public class TextureTransformExport: GLTFExportPlugin { public override string DisplayName => "KHR_texture_transform"; public override string Description => "Exports texture transforms (offset, scale, rotation)."; public override bool AlwaysEnabled => true; - public override GltfExportPluginContext CreateInstance(ExportContext context) + public override GLTFExportPluginContext CreateInstance(ExportContext context) { // always enabled return null; diff --git a/Runtime/Scripts/Plugins/TextureTransformImport.cs b/Runtime/Scripts/Plugins/TextureTransformImport.cs index 9425c4c35..61bed28d5 100644 --- a/Runtime/Scripts/Plugins/TextureTransformImport.cs +++ b/Runtime/Scripts/Plugins/TextureTransformImport.cs @@ -1,11 +1,11 @@ namespace UnityGLTF.Plugins { - public class TextureTransformImport: GltfImportPlugin + public class TextureTransformImport: GLTFImportPlugin { public override string DisplayName => "KHR_texture_transform"; public override string Description => "Imports texture transforms (offset, scale, rotation)."; public override bool AlwaysEnabled => true; - public override GltfImportPluginContext CreateInstance(GLTFImportContext context) + public override GLTFImportPluginContext CreateInstance(GLTFImportContext context) { // always enabled return null; diff --git a/Runtime/Scripts/Plugins/UnlitMaterialsExport.cs b/Runtime/Scripts/Plugins/UnlitMaterialsExport.cs index 76cf3fd56..b8dbba20b 100644 --- a/Runtime/Scripts/Plugins/UnlitMaterialsExport.cs +++ b/Runtime/Scripts/Plugins/UnlitMaterialsExport.cs @@ -1,11 +1,11 @@ namespace UnityGLTF.Plugins { - public class UnlitMaterialsExport: GltfExportPlugin + public class UnlitMaterialsExport: GLTFExportPlugin { public override string DisplayName => "KHR_materials_unlit"; public override string Description => "Exports unlit materials."; public override bool AlwaysEnabled => true; - public override GltfExportPluginContext CreateInstance(ExportContext context) + public override GLTFExportPluginContext CreateInstance(ExportContext context) { // always enabled return null; diff --git a/Runtime/Scripts/Plugins/UnlitMaterialsImport.cs b/Runtime/Scripts/Plugins/UnlitMaterialsImport.cs index aa2b77ace..19b72129c 100644 --- a/Runtime/Scripts/Plugins/UnlitMaterialsImport.cs +++ b/Runtime/Scripts/Plugins/UnlitMaterialsImport.cs @@ -1,11 +1,11 @@ namespace UnityGLTF.Plugins { - public class UnlitMaterialsImport: GltfImportPlugin + public class UnlitMaterialsImport: GLTFImportPlugin { public override string DisplayName => "KHR_materials_unlit"; public override string Description => "Imports unlit materials."; public override bool AlwaysEnabled => true; - public override GltfImportPluginContext CreateInstance(GLTFImportContext context) + public override GLTFImportPluginContext CreateInstance(GLTFImportContext context) { // always enabled return null; diff --git a/Runtime/Scripts/SceneImporter/ImporterMeshes.cs b/Runtime/Scripts/SceneImporter/ImporterMeshes.cs index a75a8b9e9..565b8ecf0 100644 --- a/Runtime/Scripts/SceneImporter/ImporterMeshes.cs +++ b/Runtime/Scripts/SceneImporter/ImporterMeshes.cs @@ -85,8 +85,9 @@ protected virtual async Task ConstructMesh(GLTFMesh mesh, int meshIndex, Cancell { var acc = p.Attributes[SemanticProperties.POSITION]; - if (accessorIds.TryAdd(acc.Id, acc)) + if (!accessorIds.ContainsKey(acc.Id)) { + accessorIds.Add(acc.Id, acc); totalVertCount += acc.Value.Count; vOffset = lastVertOffset; lastVertOffset += acc.Value.Count;