From c456c9ddf73070bdf2e3af771e146ccbd3d8cd80 Mon Sep 17 00:00:00 2001 From: Masataka SUMI Date: Thu, 27 May 2021 16:00:16 +0900 Subject: [PATCH] mv MaterialImporter MaterialDescriptorGenerator --- Assets/UniGLTF/Runtime/UniGLTF/IO/ImporterContext.cs | 8 ++++---- ...rialImporter.cs => GltfMaterialDescriptorGenerator.cs} | 4 ++-- ...er.cs.meta => GltfMaterialDescriptorGenerator.cs.meta} | 0 .../UniGLTF/IO/MaterialIO/GltfPbrMaterialImporter.cs | 2 +- .../UniGLTF/IO/MaterialIO/GltfUnlitMaterialImporter.cs | 2 +- ...aterialImporter.cs => IMaterialDescriptorGenerator.cs} | 4 ++-- ...orter.cs.meta => IMaterialDescriptorGenerator.cs.meta} | 0 Assets/UniGLTF/Tests/UniGLTF/GltfLoadTests.cs | 8 ++++---- Assets/VRM/Editor/Format/VRMEditorImporterContext.cs | 2 +- Assets/VRM/Runtime/IO/VRMImporterContext.cs | 2 +- ...erialImporter.cs => VRMMaterialDescriptorGenerator.cs} | 8 ++++---- ...ter.cs.meta => VRMMaterialDescriptorGenerator.cs.meta} | 0 Assets/VRM/Tests/MToonTest.cs | 4 ++-- ...ialImporter.cs => Vrm10MaterialDescriptorGenerator.cs} | 6 +++--- ...r.cs.meta => Vrm10MaterialDescriptorGenerator.cs.meta} | 0 Assets/VRM10/Runtime/IO/Vrm10Importer.cs | 2 +- Assets/VRM10/Tests/MaterialImportTests.cs | 8 ++++---- 17 files changed, 30 insertions(+), 30 deletions(-) rename Assets/UniGLTF/Runtime/UniGLTF/IO/MaterialIO/{GltfMaterialImporter.cs => GltfMaterialDescriptorGenerator.cs} (86%) rename Assets/UniGLTF/Runtime/UniGLTF/IO/MaterialIO/{GltfMaterialImporter.cs.meta => GltfMaterialDescriptorGenerator.cs.meta} (100%) rename Assets/UniGLTF/Runtime/UniGLTF/IO/MaterialIO/{IMaterialImporter.cs => IMaterialDescriptorGenerator.cs} (70%) rename Assets/UniGLTF/Runtime/UniGLTF/IO/MaterialIO/{IMaterialImporter.cs.meta => IMaterialDescriptorGenerator.cs.meta} (100%) rename Assets/VRM/Runtime/IO/{VRMMaterialImporter.cs => VRMMaterialDescriptorGenerator.cs} (75%) rename Assets/VRM/Runtime/IO/{VRMMaterialImporter.cs.meta => VRMMaterialDescriptorGenerator.cs.meta} (100%) rename Assets/VRM10/Runtime/IO/Material/{Vrm10MaterialImporter.cs => Vrm10MaterialDescriptorGenerator.cs} (77%) rename Assets/VRM10/Runtime/IO/Material/{Vrm10MaterialImporter.cs.meta => Vrm10MaterialDescriptorGenerator.cs.meta} (100%) diff --git a/Assets/UniGLTF/Runtime/UniGLTF/IO/ImporterContext.cs b/Assets/UniGLTF/Runtime/UniGLTF/IO/ImporterContext.cs index 323a4982f..4bd9b196e 100644 --- a/Assets/UniGLTF/Runtime/UniGLTF/IO/ImporterContext.cs +++ b/Assets/UniGLTF/Runtime/UniGLTF/IO/ImporterContext.cs @@ -33,7 +33,7 @@ namespace UniGLTF #endregion public ITextureDescriptorGenerator TextureDescriptorGenerator { get; protected set; } - public IMaterialImporter MaterialImporter { get; protected set; } + public IMaterialDescriptorGenerator MaterialDescriptorGenerator { get; protected set; } public TextureFactory TextureFactory { get; } public MaterialFactory MaterialFactory { get; } @@ -41,7 +41,7 @@ namespace UniGLTF { Parser = parser; TextureDescriptorGenerator = new GltfTextureDescriptorGenerator(Parser); - MaterialImporter = new GltfMaterialImporter(); + MaterialDescriptorGenerator = new GltfMaterialDescriptorGenerator(); externalObjectMap = externalObjectMap ?? new Dictionary(); TextureFactory = new TextureFactory(externalObjectMap @@ -195,14 +195,14 @@ namespace UniGLTF if (Parser.GLTF.materials == null || Parser.GLTF.materials.Count == 0) { // no material. work around. - var param = MaterialImporter.GetMaterialParam(Parser, 0); + var param = MaterialDescriptorGenerator.Get(Parser, 0); var material = await MaterialFactory.LoadAsync(param, TextureFactory.GetTextureAsync); } else { for (int i = 0; i < Parser.GLTF.materials.Count; ++i) { - var param = MaterialImporter.GetMaterialParam(Parser, i); + var param = MaterialDescriptorGenerator.Get(Parser, i); var material = await MaterialFactory.LoadAsync(param, TextureFactory.GetTextureAsync); } } diff --git a/Assets/UniGLTF/Runtime/UniGLTF/IO/MaterialIO/GltfMaterialImporter.cs b/Assets/UniGLTF/Runtime/UniGLTF/IO/MaterialIO/GltfMaterialDescriptorGenerator.cs similarity index 86% rename from Assets/UniGLTF/Runtime/UniGLTF/IO/MaterialIO/GltfMaterialImporter.cs rename to Assets/UniGLTF/Runtime/UniGLTF/IO/MaterialIO/GltfMaterialDescriptorGenerator.cs index 2ecf9d010..10205fdad 100644 --- a/Assets/UniGLTF/Runtime/UniGLTF/IO/MaterialIO/GltfMaterialImporter.cs +++ b/Assets/UniGLTF/Runtime/UniGLTF/IO/MaterialIO/GltfMaterialDescriptorGenerator.cs @@ -8,9 +8,9 @@ namespace UniGLTF /// /// GLTF の MaterialImporter /// - public sealed class GltfMaterialImporter : IMaterialImporter + public sealed class GltfMaterialDescriptorGenerator : IMaterialDescriptorGenerator { - public MaterialDescriptor GetMaterialParam(GltfParser parser, int i) + public MaterialDescriptor Get(GltfParser parser, int i) { if (!GltfUnlitMaterialImporter.TryCreateParam(parser, i, out var param)) { diff --git a/Assets/UniGLTF/Runtime/UniGLTF/IO/MaterialIO/GltfMaterialImporter.cs.meta b/Assets/UniGLTF/Runtime/UniGLTF/IO/MaterialIO/GltfMaterialDescriptorGenerator.cs.meta similarity index 100% rename from Assets/UniGLTF/Runtime/UniGLTF/IO/MaterialIO/GltfMaterialImporter.cs.meta rename to Assets/UniGLTF/Runtime/UniGLTF/IO/MaterialIO/GltfMaterialDescriptorGenerator.cs.meta diff --git a/Assets/UniGLTF/Runtime/UniGLTF/IO/MaterialIO/GltfPbrMaterialImporter.cs b/Assets/UniGLTF/Runtime/UniGLTF/IO/MaterialIO/GltfPbrMaterialImporter.cs index a0993ea6d..b3659431e 100644 --- a/Assets/UniGLTF/Runtime/UniGLTF/IO/MaterialIO/GltfPbrMaterialImporter.cs +++ b/Assets/UniGLTF/Runtime/UniGLTF/IO/MaterialIO/GltfPbrMaterialImporter.cs @@ -56,7 +56,7 @@ namespace UniGLTF } var src = parser.GLTF.materials[i]; - matDesc = new MaterialDescriptor(GltfMaterialImporter.GetMaterialName(i, src), ShaderName); + matDesc = new MaterialDescriptor(GltfMaterialDescriptorGenerator.GetMaterialName(i, src), ShaderName); var standardTexDesc = default(TextureDescriptor); if (src.pbrMetallicRoughness != null || src.occlusionTexture != null) diff --git a/Assets/UniGLTF/Runtime/UniGLTF/IO/MaterialIO/GltfUnlitMaterialImporter.cs b/Assets/UniGLTF/Runtime/UniGLTF/IO/MaterialIO/GltfUnlitMaterialImporter.cs index 1fc547248..0322c9f59 100644 --- a/Assets/UniGLTF/Runtime/UniGLTF/IO/MaterialIO/GltfUnlitMaterialImporter.cs +++ b/Assets/UniGLTF/Runtime/UniGLTF/IO/MaterialIO/GltfUnlitMaterialImporter.cs @@ -23,7 +23,7 @@ namespace UniGLTF return false; } - matDesc = new MaterialDescriptor(GltfMaterialImporter.GetMaterialName(i, src), ShaderName); + matDesc = new MaterialDescriptor(GltfMaterialDescriptorGenerator.GetMaterialName(i, src), ShaderName); // texture if (src.pbrMetallicRoughness.baseColorTexture != null) diff --git a/Assets/UniGLTF/Runtime/UniGLTF/IO/MaterialIO/IMaterialImporter.cs b/Assets/UniGLTF/Runtime/UniGLTF/IO/MaterialIO/IMaterialDescriptorGenerator.cs similarity index 70% rename from Assets/UniGLTF/Runtime/UniGLTF/IO/MaterialIO/IMaterialImporter.cs rename to Assets/UniGLTF/Runtime/UniGLTF/IO/MaterialIO/IMaterialDescriptorGenerator.cs index 54bd1c31d..921925abe 100644 --- a/Assets/UniGLTF/Runtime/UniGLTF/IO/MaterialIO/IMaterialImporter.cs +++ b/Assets/UniGLTF/Runtime/UniGLTF/IO/MaterialIO/IMaterialDescriptorGenerator.cs @@ -6,8 +6,8 @@ namespace UniGLTF /// 指定の index の glTFMaterial から Import できる Material の生成情報を生成する。 /// glTFMaterial と Unity Material は 1:1 対応する。 /// - public interface IMaterialImporter + public interface IMaterialDescriptorGenerator { - MaterialDescriptor GetMaterialParam(GltfParser parser, int i); + MaterialDescriptor Get(GltfParser parser, int i); } } diff --git a/Assets/UniGLTF/Runtime/UniGLTF/IO/MaterialIO/IMaterialImporter.cs.meta b/Assets/UniGLTF/Runtime/UniGLTF/IO/MaterialIO/IMaterialDescriptorGenerator.cs.meta similarity index 100% rename from Assets/UniGLTF/Runtime/UniGLTF/IO/MaterialIO/IMaterialImporter.cs.meta rename to Assets/UniGLTF/Runtime/UniGLTF/IO/MaterialIO/IMaterialDescriptorGenerator.cs.meta diff --git a/Assets/UniGLTF/Tests/UniGLTF/GltfLoadTests.cs b/Assets/UniGLTF/Tests/UniGLTF/GltfLoadTests.cs index d2f706fea..eedddfcba 100644 --- a/Assets/UniGLTF/Tests/UniGLTF/GltfLoadTests.cs +++ b/Assets/UniGLTF/Tests/UniGLTF/GltfLoadTests.cs @@ -208,10 +208,10 @@ namespace UniGLTF var parser = new GltfParser(); parser.ParsePath(path); - var materialParam = new GltfMaterialImporter().GetMaterialParam(parser, 0); - Assert.AreEqual("Standard", materialParam.ShaderName); - Assert.AreEqual(5, materialParam.TextureSlots.Count); - var (key, value) = materialParam.EnumerateSubAssetKeyValue().First(); + var matDesc = new GltfMaterialDescriptorGenerator().Get(parser, 0); + Assert.AreEqual("Standard", matDesc.ShaderName); + Assert.AreEqual(5, matDesc.TextureSlots.Count); + var (key, value) = matDesc.EnumerateSubAssetKeyValue().First(); Assert.AreEqual(new SubAssetKey(typeof(Texture2D), "texture_0"), key); } } diff --git a/Assets/VRM/Editor/Format/VRMEditorImporterContext.cs b/Assets/VRM/Editor/Format/VRMEditorImporterContext.cs index a96345da2..2c03ea857 100644 --- a/Assets/VRM/Editor/Format/VRMEditorImporterContext.cs +++ b/Assets/VRM/Editor/Format/VRMEditorImporterContext.cs @@ -103,7 +103,7 @@ namespace VRM // extract converted textures // var subAssets = m_context.TextureFactory.ConvertedTextures; - var vrmTextures = new VRMMaterialImporter(m_context.VRM); + var vrmTextures = new VRMMaterialDescriptorGenerator(m_context.VRM); var dirName = $"{m_prefabPath.FileNameWithoutExtension}.Textures"; TextureExtractor.ExtractTextures(m_context.Parser, m_prefabPath.Parent.Child(dirName), m_context.TextureDescriptorGenerator, subAssets, (_x, _y) => { }, onTextureReloaded); } diff --git a/Assets/VRM/Runtime/IO/VRMImporterContext.cs b/Assets/VRM/Runtime/IO/VRMImporterContext.cs index badae0f15..bab16713b 100644 --- a/Assets/VRM/Runtime/IO/VRMImporterContext.cs +++ b/Assets/VRM/Runtime/IO/VRMImporterContext.cs @@ -28,7 +28,7 @@ namespace VRM { VRM = vrm; TextureDescriptorGenerator = new VrmTextureDescriptorGenerator(Parser, VRM); - MaterialImporter = new VRMMaterialImporter(VRM); + MaterialDescriptorGenerator = new VRMMaterialDescriptorGenerator(VRM); } else { diff --git a/Assets/VRM/Runtime/IO/VRMMaterialImporter.cs b/Assets/VRM/Runtime/IO/VRMMaterialDescriptorGenerator.cs similarity index 75% rename from Assets/VRM/Runtime/IO/VRMMaterialImporter.cs rename to Assets/VRM/Runtime/IO/VRMMaterialDescriptorGenerator.cs index a6bec140f..c14d88cd9 100644 --- a/Assets/VRM/Runtime/IO/VRMMaterialImporter.cs +++ b/Assets/VRM/Runtime/IO/VRMMaterialDescriptorGenerator.cs @@ -6,15 +6,15 @@ using VRMShaders; namespace VRM { - public sealed class VRMMaterialImporter : IMaterialImporter + public sealed class VRMMaterialDescriptorGenerator : IMaterialDescriptorGenerator { readonly glTF_VRM_extensions m_vrm; - public VRMMaterialImporter(glTF_VRM_extensions vrm) + public VRMMaterialDescriptorGenerator(glTF_VRM_extensions vrm) { m_vrm = vrm; } - public MaterialDescriptor GetMaterialParam(GltfParser parser, int i) + public MaterialDescriptor Get(GltfParser parser, int i) { // mtoon if (!VRMMToonMaterialImporter.TryCreateParam(parser, m_vrm, i, out MaterialDescriptor matDesc)) @@ -29,7 +29,7 @@ namespace VRM #if VRM_DEVELOP Debug.LogWarning($"material: {i} out of range. fallback"); #endif - return new MaterialDescriptor(GltfMaterialImporter.GetMaterialName(i, null), GltfPbrMaterialImporter.ShaderName); + return new MaterialDescriptor(GltfMaterialDescriptorGenerator.GetMaterialName(i, null), GltfPbrMaterialImporter.ShaderName); } } } diff --git a/Assets/VRM/Runtime/IO/VRMMaterialImporter.cs.meta b/Assets/VRM/Runtime/IO/VRMMaterialDescriptorGenerator.cs.meta similarity index 100% rename from Assets/VRM/Runtime/IO/VRMMaterialImporter.cs.meta rename to Assets/VRM/Runtime/IO/VRMMaterialDescriptorGenerator.cs.meta diff --git a/Assets/VRM/Tests/MToonTest.cs b/Assets/VRM/Tests/MToonTest.cs index 0c27e497b..995cb6221 100644 --- a/Assets/VRM/Tests/MToonTest.cs +++ b/Assets/VRM/Tests/MToonTest.cs @@ -32,7 +32,7 @@ namespace VRM var vrmMaterial = VRMMaterialExporter.CreateFromMaterial(srcMaterial, textureExporter); Assert.AreEqual(vrmMaterial.vectorProperties["_MainTex"], new float[] { 0.3f, 0.2f, 0.5f, 0.6f }); - var materialImporter = new VRMMaterialImporter(new glTF_VRM_extensions + var materialImporter = new VRMMaterialDescriptorGenerator(new glTF_VRM_extensions { materialProperties = new System.Collections.Generic.List { vrmMaterial } }); @@ -70,7 +70,7 @@ namespace VRM var parser = new GltfParser(); parser.ParsePath(AliciaPath); var vrmImporter = new VRMImporterContext(parser, null); - var materialParam = new VRMMaterialImporter(vrmImporter.VRM).GetMaterialParam(parser, 0); + var materialParam = new VRMMaterialDescriptorGenerator(vrmImporter.VRM).Get(parser, 0); Assert.AreEqual("VRM/MToon", materialParam.ShaderName); Assert.AreEqual("Alicia_body", materialParam.TextureSlots["_MainTex"].UnityObjectName); diff --git a/Assets/VRM10/Runtime/IO/Material/Vrm10MaterialImporter.cs b/Assets/VRM10/Runtime/IO/Material/Vrm10MaterialDescriptorGenerator.cs similarity index 77% rename from Assets/VRM10/Runtime/IO/Material/Vrm10MaterialImporter.cs rename to Assets/VRM10/Runtime/IO/Material/Vrm10MaterialDescriptorGenerator.cs index 39556fbad..ee82c4527 100644 --- a/Assets/VRM10/Runtime/IO/Material/Vrm10MaterialImporter.cs +++ b/Assets/VRM10/Runtime/IO/Material/Vrm10MaterialDescriptorGenerator.cs @@ -4,9 +4,9 @@ using VRMShaders; namespace UniVRM10 { - public sealed class Vrm10MaterialImporter : IMaterialImporter + public sealed class Vrm10MaterialDescriptorGenerator : IMaterialDescriptorGenerator { - public MaterialDescriptor GetMaterialParam(GltfParser parser, int i) + public MaterialDescriptor Get(GltfParser parser, int i) { // mtoon if (!Vrm10MToonMaterialImporter.TryCreateParam(parser, i, out MaterialDescriptor matDesc)) @@ -21,7 +21,7 @@ namespace UniVRM10 #if VRM_DEVELOP Debug.LogWarning($"material: {i} out of range. fallback"); #endif - return new MaterialDescriptor(GltfMaterialImporter.GetMaterialName(i, null), GltfPbrMaterialImporter.ShaderName); + return new MaterialDescriptor(GltfMaterialDescriptorGenerator.GetMaterialName(i, null), GltfPbrMaterialImporter.ShaderName); } } } diff --git a/Assets/VRM10/Runtime/IO/Material/Vrm10MaterialImporter.cs.meta b/Assets/VRM10/Runtime/IO/Material/Vrm10MaterialDescriptorGenerator.cs.meta similarity index 100% rename from Assets/VRM10/Runtime/IO/Material/Vrm10MaterialImporter.cs.meta rename to Assets/VRM10/Runtime/IO/Material/Vrm10MaterialDescriptorGenerator.cs.meta diff --git a/Assets/VRM10/Runtime/IO/Vrm10Importer.cs b/Assets/VRM10/Runtime/IO/Vrm10Importer.cs index 5ff75415c..34cc7e62a 100644 --- a/Assets/VRM10/Runtime/IO/Vrm10Importer.cs +++ b/Assets/VRM10/Runtime/IO/Vrm10Importer.cs @@ -25,7 +25,7 @@ namespace UniVRM10 : base(parser, externalObjectMap) { TextureDescriptorGenerator = new Vrm10TextureDescriptorGenerator(parser); - MaterialImporter = new Vrm10MaterialImporter(); + MaterialDescriptorGenerator = new Vrm10MaterialDescriptorGenerator(); m_externalMap = externalObjectMap; if (m_externalMap == null) diff --git a/Assets/VRM10/Tests/MaterialImportTests.cs b/Assets/VRM10/Tests/MaterialImportTests.cs index 6eeca4155..fb3649a7d 100644 --- a/Assets/VRM10/Tests/MaterialImportTests.cs +++ b/Assets/VRM10/Tests/MaterialImportTests.cs @@ -25,11 +25,11 @@ namespace UniVRM10 var parser = new GltfParser(); parser.Parse(AliciaPath, migratedBytes); - var materialParam = new Vrm10MaterialImporter().GetMaterialParam(parser, 0); - Assert.AreEqual("VRM/MToon", materialParam.ShaderName); - Assert.AreEqual("Alicia_body", materialParam.TextureSlots["_MainTex"].UnityObjectName); + var matDesc = new Vrm10MaterialDescriptorGenerator().Get(parser, 0); + Assert.AreEqual("VRM/MToon", matDesc.ShaderName); + Assert.AreEqual("Alicia_body", matDesc.TextureSlots["_MainTex"].UnityObjectName); - var (key, value) = materialParam.EnumerateSubAssetKeyValue().First(); + var (key, value) = matDesc.EnumerateSubAssetKeyValue().First(); Assert.AreEqual(new SubAssetKey(typeof(Texture2D), "Alicia_body"), key); } }