diff --git a/Assets/VRM10/Samples/VRM10Viewer/VRM10ViewerUI.cs b/Assets/VRM10/Samples/VRM10Viewer/VRM10ViewerUI.cs index d5bdb79a3..01ed5aa9f 100644 --- a/Assets/VRM10/Samples/VRM10Viewer/VRM10ViewerUI.cs +++ b/Assets/VRM10/Samples/VRM10Viewer/VRM10ViewerUI.cs @@ -326,7 +326,7 @@ namespace UniVRM10.VRM10Viewer } } - static IMaterialDescriptorGenerator GetMaterialDescriptorGenerator(bool useUrp) + static IMaterialDescriptorGenerator GetVrmMaterialDescriptorGenerator(bool useUrp) { if (useUrp) { @@ -338,6 +338,18 @@ namespace UniVRM10.VRM10Viewer } } + static IMaterialDescriptorGenerator GetMaterialDescriptorGenerator(bool useUrp) + { + if (useUrp) + { + return new GltfUrpMaterialDescriptorGenerator(); + } + else + { + return new GltfMaterialDescriptorGenerator(); + } + } + void LoadModel(string path) { if (!File.Exists(path)) @@ -356,7 +368,7 @@ namespace UniVRM10.VRM10Viewer Debug.LogError(result.Message); return; } - using (var loader = new Vrm10Importer(result, materialGenerator: GetMaterialDescriptorGenerator(m_useUrpMaterial.isOn))) + using (var loader = new Vrm10Importer(result, materialGenerator: GetVrmMaterialDescriptorGenerator(m_useUrpMaterial.isOn))) { var loaded = loader.Load(); loaded.ShowMeshes(); @@ -370,7 +382,7 @@ namespace UniVRM10.VRM10Viewer { var data = new GlbFileParser(path).Parse(); - using (var loader = new UniGLTF.ImporterContext(data)) + using (var loader = new UniGLTF.ImporterContext(data, materialGenerator: GetMaterialDescriptorGenerator(m_useUrpMaterial.isOn))) { var loaded = loader.Load(); loaded.ShowMeshes(); @@ -384,7 +396,7 @@ namespace UniVRM10.VRM10Viewer { var data = new GltfFileWithResourceFilesParser(path).Parse(); - using (var loader = new UniGLTF.ImporterContext(data)) + using (var loader = new UniGLTF.ImporterContext(data, materialGenerator: GetMaterialDescriptorGenerator(m_useUrpMaterial.isOn))) { var loaded = loader.Load(); loaded.ShowMeshes(); @@ -398,7 +410,7 @@ namespace UniVRM10.VRM10Viewer { var data = new ZipArchivedGltfFileParser(path).Parse(); - using (var loader = new UniGLTF.ImporterContext(data)) + using (var loader = new UniGLTF.ImporterContext(data, materialGenerator: GetMaterialDescriptorGenerator(m_useUrpMaterial.isOn))) { var loaded = loader.Load(); loaded.ShowMeshes();