Merge pull request #2448 from ousttrue/fix/vrm1_springbone_service

SpringBoneの初期化を前方に移動しことで、非play時のDontDestroyOnLoadが発生してしまった。回避
This commit is contained in:
ousttrue 2024-09-26 14:36:45 +09:00 committed by GitHub
commit a3aeafeac5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
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);