From c3338d3881d413589d7e316eb867a3cb0eb2d7c0 Mon Sep 17 00:00:00 2001 From: ousttrue Date: Wed, 9 Apr 2025 15:11:04 +0900 Subject: [PATCH] Avoid resetting indexmaps causing exceptions --- .../VRM/Runtime/SpringBone/Logic/SpringBoneSystem.cs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/Assets/VRM/Runtime/SpringBone/Logic/SpringBoneSystem.cs b/Assets/VRM/Runtime/SpringBone/Logic/SpringBoneSystem.cs index a44091bf1..4942a4c11 100644 --- a/Assets/VRM/Runtime/SpringBone/Logic/SpringBoneSystem.cs +++ b/Assets/VRM/Runtime/SpringBone/Logic/SpringBoneSystem.cs @@ -38,7 +38,15 @@ namespace VRM.SpringBone for (int i = 0; i < m_joints.Count; ++i) { - m_jointIndexMap.Add(m_joints[i].Item1, i); + // #2617 + // Keys may not be unique + m_jointIndexMap[m_joints[i].Item1] = i; + + // this index refer m_joints + // if not unique, + // m_joints[] = { (a, a_state), (b, b_state), (a, a_state) ... }; + // m_joints[0] and m_joints[2] is same. + // The above code is ok } }