diff --git a/Assets/VRM10/Runtime/Components/SpringBone/VRM10SpringBone.cs b/Assets/VRM10/Runtime/Components/SpringBone/VRM10SpringBone.cs index e72f8e657..f87ea8048 100644 --- a/Assets/VRM10/Runtime/Components/SpringBone/VRM10SpringBone.cs +++ b/Assets/VRM10/Runtime/Components/SpringBone/VRM10SpringBone.cs @@ -31,9 +31,6 @@ namespace UniVRM10 [SerializeField] public List ColliderGroups = new List(); - [SerializeField] - public Transform m_center; - [ContextMenu("Reset bones")] public void ResetJoints() { @@ -46,9 +43,12 @@ namespace UniVRM10 } } + Transform m_center; + List m_colliderList = new List(); - public void Process() + public void Process(Transform center) { + m_center = center; if (Joints == null) { return; @@ -96,10 +96,10 @@ namespace UniVRM10 VRM10SpringJoint lastJoint = Joints.FirstOrDefault(x => x != null); foreach (var joint in Joints.Where(x => x != null).Skip(1)) { - lastJoint.Update(m_center, Time.deltaTime, m_colliderList, joint); + lastJoint.Update(center, Time.deltaTime, m_colliderList, joint); lastJoint = joint; } - lastJoint.Update(m_center, Time.deltaTime, m_colliderList, null); + lastJoint.Update(center, Time.deltaTime, m_colliderList, null); } } diff --git a/Assets/VRM10/Runtime/Components/VRM10Controller.cs b/Assets/VRM10/Runtime/Components/VRM10Controller.cs index 631a89290..bc4be32e0 100644 --- a/Assets/VRM10/Runtime/Components/VRM10Controller.cs +++ b/Assets/VRM10/Runtime/Components/VRM10Controller.cs @@ -27,6 +27,9 @@ namespace UniVRM10 [SerializeField, Header("UpdateSetting")] public UpdateTypes UpdateType = UpdateTypes.LateUpdate; + + [SerializeField, Header("SpringBone")] + public Transform SpringBoneCenter; } [SerializeField] @@ -128,7 +131,7 @@ namespace UniVRM10 } foreach (var spring in m_springs) { - spring.Process(); + spring.Process(Controller.SpringBoneCenter); } //