diff --git a/Assets/VRM10/Runtime/Components/Vrm10Runtime/Vrm10FastSpringboneRuntime.cs b/Assets/VRM10/Runtime/Components/Vrm10Runtime/Vrm10FastSpringboneRuntime.cs index d02e6ec97..11d70268c 100644 --- a/Assets/VRM10/Runtime/Components/Vrm10Runtime/Vrm10FastSpringboneRuntime.cs +++ b/Assets/VRM10/Runtime/Components/Vrm10Runtime/Vrm10FastSpringboneRuntime.cs @@ -14,7 +14,7 @@ namespace UniVRM10 public class Vrm10FastSpringboneRuntime : IVrm10SpringBoneRuntime { private Vrm10Instance m_instance; - private readonly FastSpringBones.FastSpringBoneService m_fastSpringBoneService = FastSpringBones.FastSpringBoneService.Instance; + private FastSpringBones.FastSpringBoneService m_fastSpringBoneService; private FastSpringBoneBuffer m_fastSpringBoneBuffer; public Vector3 ExternalForce @@ -32,6 +32,7 @@ namespace UniVRM10 public async Task InitializeAsync(Vrm10Instance instance, IAwaitCaller awaitCaller) { + m_fastSpringBoneService = FastSpringBones.FastSpringBoneService.Instance; m_instance = instance; // NOTE: FastSpringBoneService は UnitTest などでは動作しない diff --git a/Assets/VRM10/Runtime/IO/Vrm10Importer.cs b/Assets/VRM10/Runtime/IO/Vrm10Importer.cs index 8347dbb11..be77bb089 100644 --- a/Assets/VRM10/Runtime/IO/Vrm10Importer.cs +++ b/Assets/VRM10/Runtime/IO/Vrm10Importer.cs @@ -273,8 +273,12 @@ namespace UniVRM10 if (UniGLTF.Extensions.VRMC_springBone.GltfDeserializer.TryGet(Data.GLTF.extensions, out UniGLTF.Extensions.VRMC_springBone.VRMC_springBone springBone)) { await LoadSpringBoneAsync(awaitCaller, controller, springBone); - // Vrm10Runtime で初期化していたが、 async にするためこちらに移動 v0.127 - await m_springboneRuntime.InitializeAsync(controller, awaitCaller); + if (Application.isPlaying) + { + // EditorImport では呼ばない + // Vrm10Runtime で初期化していたが、 async にするためこちらに移動 v0.127 + await m_springboneRuntime.InitializeAsync(controller, awaitCaller); + } } // constraint await LoadConstraintAsync(awaitCaller, controller);