[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 8ddb2d8d0c
commit 659e043f1b
2 changed files with 6 additions and 4 deletions

View File

@ -171,8 +171,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.WorldX, bone.WorldY, 0f));
if (!followZPosition) targetWorldPosition.z = thisTransform.position.z;
if (!followXYPosition) {

View File

@ -149,8 +149,9 @@ namespace Spine.Unity {
followXYPosition ? bone.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.WorldX * scale + offset.x, bone.WorldY * scale + offset.y, 0f));
if (!followZPosition) targetWorldPosition.z = thisTransform.position.z;