[unity] Fixed BoneFollower MissingReferenceException when skeleton is destroyed. Closes #2903.

This commit is contained in:
Harald Csaszar 2025-08-07 15:02:57 +02:00
parent 18dfa3b634
commit 49999e417e
2 changed files with 6 additions and 4 deletions

View File

@ -199,8 +199,9 @@ namespace Spine.Unity {
q.w = Mathf.Cos(halfRotation);
thisTransform.localRotation = q;
}
} else {
// For special cases: Use transform world properties if transform relationship is complicated
} else { // For special cases: Use transform world properties if transform relationship is complicated
if (!skeletonTransform) return;
Vector3 targetWorldPosition = skeletonTransform.TransformPoint(new Vector3(bone.AppliedPose.WorldX, bone.AppliedPose.WorldY, 0f));
if (!followZPosition) targetWorldPosition.z = thisTransform.position.z;
if (!followXYPosition) {

View File

@ -174,8 +174,9 @@ namespace Spine.Unity {
followXYPosition ? bone.AppliedPose.WorldY * scale + offset.y : thisTransform.localPosition.y,
followZPosition ? 0f : thisTransform.localPosition.z);
if (followBoneRotation) thisTransform.localRotation = bone.GetQuaternion();
} else {
// For special cases: Use transform world properties if transform relationship is complicated
} else { // For special cases: Use transform world properties if transform relationship is complicated
if (!skeletonTransform) return;
Vector3 targetWorldPosition = skeletonTransform.TransformPoint(
new Vector3(bone.AppliedPose.WorldX * scale + offset.x, bone.AppliedPose.WorldY * scale + offset.y, 0f));
if (!followZPosition) targetWorldPosition.z = thisTransform.position.z;