diff --git a/Assets/VRM10/Runtime/Components/Vrm10Runtime/Vrm10Runtime.cs b/Assets/VRM10/Runtime/Components/Vrm10Runtime/Vrm10Runtime.cs
index b38dd7204..e9a80c716 100644
--- a/Assets/VRM10/Runtime/Components/Vrm10Runtime/Vrm10Runtime.cs
+++ b/Assets/VRM10/Runtime/Components/Vrm10Runtime/Vrm10Runtime.cs
@@ -51,12 +51,12 @@ namespace UniVRM10
}
}
- public bool SpringBonePaused
+ public bool IsSpringBoneEnabled
{
- get => m_externalData.Paused;
+ get => m_externalData.IsSpringBoneEnabled;
set
{
- m_externalData.Paused = value;
+ m_externalData.IsSpringBoneEnabled = value;
m_fastSpringBoneBuffer.ExternalData = m_externalData;
}
}
diff --git a/Assets/VRM10/Runtime/FastSpringBone/Blittables/BlittableExternalData.cs b/Assets/VRM10/Runtime/FastSpringBone/Blittables/BlittableExternalData.cs
index 637cad71a..d79789c5f 100644
--- a/Assets/VRM10/Runtime/FastSpringBone/Blittables/BlittableExternalData.cs
+++ b/Assets/VRM10/Runtime/FastSpringBone/Blittables/BlittableExternalData.cs
@@ -8,6 +8,10 @@ namespace UniVRM10.FastSpringBones.Blittables
public struct BlittableExternalData
{
public Vector3 ExternalForce;
- public bool Paused;
+
+ ///
+ /// if false, spring bone is paused.
+ ///
+ public bool IsSpringBoneEnabled;
}
}
\ No newline at end of file
diff --git a/Assets/VRM10/Runtime/FastSpringBone/System/UpdateFastSpringBoneJob.cs b/Assets/VRM10/Runtime/FastSpringBone/System/UpdateFastSpringBoneJob.cs
index b71ec5d67..cc0694514 100644
--- a/Assets/VRM10/Runtime/FastSpringBone/System/UpdateFastSpringBoneJob.cs
+++ b/Assets/VRM10/Runtime/FastSpringBone/System/UpdateFastSpringBoneJob.cs
@@ -147,16 +147,16 @@ namespace UniVRM10.FastSpringBones.System
headTransform.localRotation = headTransform.rotation;
}
- if (spring.ExternalData->Paused)
- {
- // SpringBone の結果を Transform に反映しないが logic の更新は継続する。
- // 再開したときに暴れない。
- }
- else
+ if (spring.ExternalData->IsSpringBoneEnabled)
{
// SpringBone の結果を Transform に反映する
Transforms[logic.headTransformIndex + transformIndexOffset] = headTransform;
}
+ else
+ {
+ // SpringBone の結果を Transform に反映しないが logic の更新は継続する。
+ // 再開したときに暴れない。
+ }
Logics[logicIndex] = logic;
}
}
diff --git a/Assets/VRM10_Samples/VRM10Viewer/VRM10ViewerUI.cs b/Assets/VRM10_Samples/VRM10Viewer/VRM10ViewerUI.cs
index 8f15e0fcf..b73892561 100644
--- a/Assets/VRM10_Samples/VRM10Viewer/VRM10ViewerUI.cs
+++ b/Assets/VRM10_Samples/VRM10Viewer/VRM10ViewerUI.cs
@@ -28,7 +28,7 @@ namespace UniVRM10.VRM10Viewer
Toggle m_showBoxMan = default;
[SerializeField]
- Toggle m_puaseSpringBone = default;
+ Toggle m_pauseSpringBone = default;
[SerializeField]
Toggle m_enableLipSync = default;
@@ -262,7 +262,7 @@ namespace UniVRM10.VRM10Viewer
var toggles = GameObject.FindObjectsOfType();
#endif
m_showBoxMan = toggles.First(x => x.name == "ShowBoxMan");
- m_puaseSpringBone = toggles.First(x => x.name == "PauseSpringBone");
+ m_pauseSpringBone = toggles.First(x => x.name == "PauseSpringBone");
m_enableLipSync = toggles.First(x => x.name == "EnableLipSync");
m_enableAutoBlink = toggles.First(x => x.name == "EnableAutoBlink");
m_enableAutoExpression = toggles.First(x => x.name == "EnableAutoExpression");
@@ -410,7 +410,7 @@ namespace UniVRM10.VRM10Viewer
m_loaded.Runtime.VrmAnimation = Motion;
}
- m_loaded.Runtime.SpringBonePaused = m_puaseSpringBone.isOn;
+ m_loaded.Runtime.IsSpringBoneEnabled = !m_pauseSpringBone.isOn;
}
}
}