diff --git a/Assets/UniGLTF/Runtime/UniGLTF/IO/MaterialIO/BuiltInRP/Import/BuiltInGltfMaterialDescriptorGenerator.cs b/Assets/UniGLTF/Runtime/UniGLTF/IO/MaterialIO/BuiltInRP/Import/BuiltInGltfMaterialDescriptorGenerator.cs index eda109fb4..03ffca198 100644 --- a/Assets/UniGLTF/Runtime/UniGLTF/IO/MaterialIO/BuiltInRP/Import/BuiltInGltfMaterialDescriptorGenerator.cs +++ b/Assets/UniGLTF/Runtime/UniGLTF/IO/MaterialIO/BuiltInRP/Import/BuiltInGltfMaterialDescriptorGenerator.cs @@ -13,26 +13,15 @@ namespace UniGLTF { if (BuiltInGltfUnlitMaterialImporter.TryCreateParam(data, i, out var param)) return param; if (BuiltInGltfPbrMaterialImporter.TryCreateParam(data, i, out param)) return param; + // fallback if (Symbols.VRM_DEVELOP) { Debug.LogWarning($"material: {i} out of range. fallback"); } - - return new MaterialDescriptor( - GltfMaterialImportUtils.ImportMaterialName(i, null), - BuiltInGltfPbrMaterialImporter.Shader, - null, - new Dictionary(), - new Dictionary(), - new Dictionary(), - new Dictionary(), - new Action[]{}); + return GetGltfDefault(GltfMaterialImportUtils.ImportMaterialName(i, null)); } - public MaterialDescriptor GetGltfDefault() - { - return BuiltInGltfDefaultMaterialImporter.CreateParam(); - } + public MaterialDescriptor GetGltfDefault(string materialName = null) => BuiltInGltfDefaultMaterialImporter.CreateParam(materialName); } } diff --git a/Assets/UniGLTF/Runtime/UniGLTF/IO/MaterialIO/BuiltInRP/Import/Materials/BuiltInGltfDefaultMaterialImporter.cs b/Assets/UniGLTF/Runtime/UniGLTF/IO/MaterialIO/BuiltInRP/Import/Materials/BuiltInGltfDefaultMaterialImporter.cs index b59d94bc7..c6f8112d8 100644 --- a/Assets/UniGLTF/Runtime/UniGLTF/IO/MaterialIO/BuiltInRP/Import/Materials/BuiltInGltfDefaultMaterialImporter.cs +++ b/Assets/UniGLTF/Runtime/UniGLTF/IO/MaterialIO/BuiltInRP/Import/Materials/BuiltInGltfDefaultMaterialImporter.cs @@ -9,11 +9,11 @@ namespace UniGLTF /// public static class BuiltInGltfDefaultMaterialImporter { - public static MaterialDescriptor CreateParam() + public static MaterialDescriptor CreateParam(string materialName = null) { // FIXME return new MaterialDescriptor( - "__default__", + string.IsNullOrEmpty(materialName) ? "__default__" : materialName, BuiltInGltfPbrMaterialImporter.Shader, default, new Dictionary(), diff --git a/Assets/VRM/Runtime/IO/MaterialIO/BuiltInRP/Import/BuiltInVrmMaterialDescriptorGenerator.cs b/Assets/VRM/Runtime/IO/MaterialIO/BuiltInRP/Import/BuiltInVrmMaterialDescriptorGenerator.cs index aae706af3..b48387cd0 100644 --- a/Assets/VRM/Runtime/IO/MaterialIO/BuiltInRP/Import/BuiltInVrmMaterialDescriptorGenerator.cs +++ b/Assets/VRM/Runtime/IO/MaterialIO/BuiltInRP/Import/BuiltInVrmMaterialDescriptorGenerator.cs @@ -41,21 +41,13 @@ namespace VRM } // fallback - Debug.LogWarning($"fallback"); - return new MaterialDescriptor( - GltfMaterialImportUtils.ImportMaterialName(i, null), - BuiltInGltfPbrMaterialImporter.Shader, - null, - new Dictionary(), - new Dictionary(), - new Dictionary(), - new Dictionary(), - new Action[]{}); + if (Symbols.VRM_DEVELOP) + { + Debug.LogWarning($"material: {i} out of range. fallback"); + } + return GetGltfDefault(GltfMaterialImportUtils.ImportMaterialName(i, null)); } - public MaterialDescriptor GetGltfDefault() - { - return BuiltInGltfDefaultMaterialImporter.CreateParam(); - } + public MaterialDescriptor GetGltfDefault(string materialName = null) => BuiltInGltfDefaultMaterialImporter.CreateParam(materialName); } } diff --git a/Assets/VRM10/Runtime/IO/Material/BuiltInRP/Import/BuiltInVrm10MaterialDescriptorGenerator.cs b/Assets/VRM10/Runtime/IO/Material/BuiltInRP/Import/BuiltInVrm10MaterialDescriptorGenerator.cs index ec6b09115..15d27c2e6 100644 --- a/Assets/VRM10/Runtime/IO/Material/BuiltInRP/Import/BuiltInVrm10MaterialDescriptorGenerator.cs +++ b/Assets/VRM10/Runtime/IO/Material/BuiltInRP/Import/BuiltInVrm10MaterialDescriptorGenerator.cs @@ -21,20 +21,9 @@ namespace UniVRM10 { Debug.LogWarning($"material: {i} out of range. fallback"); } - return new MaterialDescriptor( - GltfMaterialImportUtils.ImportMaterialName(i, null), - BuiltInGltfPbrMaterialImporter.Shader, - null, - new Dictionary(), - new Dictionary(), - new Dictionary(), - new Dictionary(), - new Action[]{}); + return GetGltfDefault(GltfMaterialImportUtils.ImportMaterialName(i, null)); } - public MaterialDescriptor GetGltfDefault() - { - return BuiltInGltfDefaultMaterialImporter.CreateParam(); - } + public MaterialDescriptor GetGltfDefault(string materialName = null) => BuiltInGltfDefaultMaterialImporter.CreateParam(materialName); } }