SpringBoneの初期化を前方に移動しことで、非play時のDontDestroyOnLoadが発生してしまった。回避

This commit is contained in:
ousttrue 2024-09-26 14:29:50 +09:00
parent d6e920b6d3
commit 867177404b
2 changed files with 8 additions and 3 deletions

View File

@ -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 などでは動作しない

View File

@ -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);