diff --git a/Packages/UniGLTF/Runtime/UniGLTF/IO/MaterialIO/RenderPipelineUtility.cs b/Packages/UniGLTF/Runtime/UniGLTF/IO/MaterialIO/RenderPipelineUtility.cs index 76ecc0547..d072bec45 100644 --- a/Packages/UniGLTF/Runtime/UniGLTF/IO/MaterialIO/RenderPipelineUtility.cs +++ b/Packages/UniGLTF/Runtime/UniGLTF/IO/MaterialIO/RenderPipelineUtility.cs @@ -1,4 +1,4 @@ -using UnityEngine.Rendering; +using UnityEngine.Rendering; namespace UniGLTF { @@ -6,19 +6,19 @@ namespace UniGLTF { public static RenderPipelineTypes GetRenderPipelineType() { - RenderPipeline currentPipeline = RenderPipelineManager.currentPipeline; + RenderPipelineAsset currentRenderPipelineAsset = GraphicsSettings.currentRenderPipeline; - if (currentPipeline == null) + if (currentRenderPipelineAsset == null) { return RenderPipelineTypes.BuiltinRenderPipeline; } - if (currentPipeline.GetType().Name.Contains("HDRenderPipeline")) + if (currentRenderPipelineAsset.GetType().Name.Contains("HDRenderPipeline")) { return RenderPipelineTypes.HighDefinitionRenderPipeline; } - if (currentPipeline.GetType().Name.Contains("UniversalRenderPipeline")) + if (currentRenderPipelineAsset.GetType().Name.Contains("UniversalRenderPipeline")) { return RenderPipelineTypes.UniversalRenderPipeline; } @@ -26,4 +26,4 @@ namespace UniGLTF return RenderPipelineTypes.Unknown; } } -} \ No newline at end of file +} diff --git a/Packages/UniGLTF/Runtime/UniGLTF/RuntimeGltfInstance.cs b/Packages/UniGLTF/Runtime/UniGLTF/RuntimeGltfInstance.cs index 6f4374687..b4c6417eb 100644 --- a/Packages/UniGLTF/Runtime/UniGLTF/RuntimeGltfInstance.cs +++ b/Packages/UniGLTF/Runtime/UniGLTF/RuntimeGltfInstance.cs @@ -255,9 +255,10 @@ namespace UniGLTF } } - static Dictionary> PoseMap = new(); + static readonly Dictionary> PoseMap = new(); + public static IReadOnlyDictionary SafeGetInitialPose( - Transform root, bool useCache = true) + Transform root, bool useCache = false) { if (useCache && PoseMap.TryGetValue(root, out var pose)) { @@ -278,7 +279,10 @@ namespace UniGLTF } // add cache - PoseMap.Add(root, pose); + if (useCache) + { + PoseMap.Add(root, pose); + } return pose; } diff --git a/Packages/VRM10/Runtime/IO/Material/BuiltInRP/Import/Materials/BuiltInVrm10MToonMaterialImporter.cs b/Packages/VRM10/Runtime/IO/Material/BuiltInRP/Import/Materials/BuiltInVrm10MToonMaterialImporter.cs index 6fba92303..1a4f62fec 100644 --- a/Packages/VRM10/Runtime/IO/Material/BuiltInRP/Import/Materials/BuiltInVrm10MToonMaterialImporter.cs +++ b/Packages/VRM10/Runtime/IO/Material/BuiltInRP/Import/Materials/BuiltInVrm10MToonMaterialImporter.cs @@ -44,7 +44,7 @@ namespace UniVRM10 // use material.name, because material name may renamed in GltfParser. matDesc = new MaterialDescriptor( m.name, - Shader.Find(MToon10Meta.UnityShaderName), + Shader, null, Vrm10MToonTextureImporter.EnumerateAllTextures(data, m, mtoon).ToDictionary(tuple => tuple.key, tuple => tuple.Item2.Item2), TryGetAllFloats(m, mtoon).ToDictionary(tuple => tuple.key, tuple => tuple.value), diff --git a/Packages/VRM10/Runtime/IO/Material/URP/Import/Materials/UrpVrm10MToonMaterialImporter.cs b/Packages/VRM10/Runtime/IO/Material/URP/Import/Materials/UrpVrm10MToonMaterialImporter.cs index ada10ec84..24eb37478 100644 --- a/Packages/VRM10/Runtime/IO/Material/URP/Import/Materials/UrpVrm10MToonMaterialImporter.cs +++ b/Packages/VRM10/Runtime/IO/Material/URP/Import/Materials/UrpVrm10MToonMaterialImporter.cs @@ -39,7 +39,7 @@ namespace UniVRM10 // use material.name, because material name may renamed in GltfParser. matDesc = new MaterialDescriptor( m.name, - Shader.Find(MToon10Meta.UnityUrpShaderName), + Shader, null, Vrm10MToonTextureImporter.EnumerateAllTextures(data, m, mtoon).ToDictionary(tuple => tuple.key, tuple => tuple.Item2.Item2), BuiltInVrm10MToonMaterialImporter.TryGetAllFloats(m, mtoon).ToDictionary(tuple => tuple.key, tuple => tuple.value),