From b0a1de9f740676fcac9b9ab4daee2644aae34714 Mon Sep 17 00:00:00 2001 From: ousttrue Date: Wed, 6 Oct 2021 19:55:19 +0900 Subject: [PATCH] Avoid FastSpringBone in UnitTest --- .../Vrm10Instance/Vrm10InstanceRuntime.cs | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/Assets/VRM10/Runtime/Components/Vrm10Instance/Vrm10InstanceRuntime.cs b/Assets/VRM10/Runtime/Components/Vrm10Instance/Vrm10InstanceRuntime.cs index 3aa1b3298..a7591ebf0 100644 --- a/Assets/VRM10/Runtime/Components/Vrm10Instance/Vrm10InstanceRuntime.cs +++ b/Assets/VRM10/Runtime/Components/Vrm10Instance/Vrm10InstanceRuntime.cs @@ -35,9 +35,14 @@ namespace UniVRM10 m_constraints = target.GetComponentsInChildren(); } + if (!Application.isPlaying) + { + // for UnitTest + return; + } + m_fastSpringBoneService = FastSpringBoneService.Instance; m_fastSpringBoneBuffer = CreateFastSpringBoneBuffer(m_target.SpringBone); - m_fastSpringBoneService.BufferCombiner.Register(m_fastSpringBoneBuffer); } @@ -45,9 +50,9 @@ namespace UniVRM10 { return new FastSpringBoneBuffer( springBone.Springs.Select(spring => new FastSpringBoneSpring - { - center = m_target.SpringBoneCenter, - colliders = spring.ColliderGroups + { + center = m_target.SpringBoneCenter, + colliders = spring.ColliderGroups .SelectMany(group => group.Colliders) .Select(collider => new FastSpringBoneCollider { @@ -60,7 +65,7 @@ namespace UniVRM10 colliderType = TranslateColliderType(collider.ColliderType) } }).ToArray(), - joints = spring.Joints + joints = spring.Joints .Select(joint => new FastSpringBoneJoint { Transform = joint.transform, @@ -73,7 +78,7 @@ namespace UniVRM10 stiffnessForce = joint.m_stiffnessForce } }).ToArray(), - }).ToArray()); + }).ToArray()); } private static BlittableColliderType TranslateColliderType(VRM10SpringBoneColliderTypes colliderType) @@ -82,7 +87,7 @@ namespace UniVRM10 { case VRM10SpringBoneColliderTypes.Sphere: return BlittableColliderType.Sphere; - case VRM10SpringBoneColliderTypes.Capsule: + case VRM10SpringBoneColliderTypes.Capsule: return BlittableColliderType.Capsule; default: throw new ArgumentOutOfRangeException();