From 5f3c7c0a4d8178ab79032ff6b3983a62fcafa06a Mon Sep 17 00:00:00 2001 From: Davide Tantillo Date: Tue, 17 Mar 2026 17:28:40 +0100 Subject: [PATCH] Followers takes gameobject rotation into account. --- spine-ts/spine-construct3/src/c3runtime/instance.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/spine-ts/spine-construct3/src/c3runtime/instance.ts b/spine-ts/spine-construct3/src/c3runtime/instance.ts index 82b2c3639..21475c6e0 100644 --- a/spine-ts/spine-construct3/src/c3runtime/instance.ts +++ b/spine-ts/spine-construct3/src/c3runtime/instance.ts @@ -903,6 +903,7 @@ class SpineC3Instance extends globalThis.ISDKWorldInstanceBase { const sin = Math.sin(boneGameAngleRad); const negateAngle = this.isMirrored !== this.isFlipped; + const gameObjectAngleDeg = (this.angle + this.propOffsetAngle) * spine.MathUtils.radDeg; for (const follower of followers) { const instance = this.runtime.getInstanceByUid(follower.uid) as IWorldInstance; @@ -918,7 +919,7 @@ class SpineC3Instance extends globalThis.ISDKWorldInstanceBase { instance.y = y + rotatedOffsetY; const angle = boneRotation + follower.offsetAngle; - instance.angleDegrees = negateAngle ? -angle : angle; + instance.angleDegrees = gameObjectAngleDeg + (negateAngle ? -angle : angle); } } }