Spring controller (jigle bones) rotation doesn't work

I want to use the spring controller node in my anim blueprint on a bone for rotation only, when i check the X, Y and Z rotation channels they don’t do anything, but the translation works fine. Am I missing something?

bump******

Is that bone an end bone?
I havent tried it yet, but my guess would be that rotation only works if the bone affected has child joints that will change its center of mass so that rotation springyness can physically occur.

It is not an end bone

Bump bump.

Still doesn’t work in 4.15. Nothing in the docs about this either. I have a character with long ears I need to rotate but not move but I can’t because this feature is broken.

Yes, 4.16 doesn’t have this either. This is ridiculous, rotation is arguably much more important than translation in spring joints.

1 Like

4.17 issue still exist.

-m

I suggest using Anim Dynamics node instead.

I feel like AnimDynamics always assumes something is dangling down, as opposed to standing straight up like a strand of grass. In my case, I’m trying to make some antennae behave properly and I haven’t been able to do this using AnimDynamics. Spring controller is perfect for this, or well, it would be, if it wasn’t broken :frowning:

1 Like

have any of you found an alternative solution for this?

In my case (4.23) it works only in the animation blueprint preview window, but not in Play In Editor. I’ve reported this with a nice simple repro project today.

I found an alternative… although not perfect, try this:
Create an extra target bone, about 1 or 2 meters away from your mesh, in your rig. In my case, i did this is blender, then reimported the model with the new file, and said YES to unreal regenerating the skeleton.
Then, in your animation blueprint, use a spring bone on that new bone, set it to translation, and set it to move a lot (i used 400 stiffness and 5 damping).
After that, add a “Look At” node, making your original bone rotate to face our new moving bone.
So the target bone will start moving, and the original bone will rotate to look at it. Kinda works!

2 Likes

I get the same issue with the rotation too. Seems to only work as expected in the BP scene window or if you are standing at the world origin while PIE. The translate can still be seen working if you Show Bones, but it appears the rotation stops functioning correctly the further you are from the origin. It likely works in the BP scene viewer because its at the origin too.

Tested in 4.27 and 5.3, same thing.

Found this bug report which they marked as Won’t Fix; UE-69373
Implementing this change actually fixed the issue with the rotation being broken when not standing at the world origin.

Implemented what change? Is there some patch or previous version that fixed this? This problem is still persisting for me in 5.3.

Sorry I should’ve been more clear. On that bug report UE-69373, someone provided a code snippet to change in the engine source code to fix the issue.

Epic have not implemented the change themselves because when they tested the change they saw no difference. I can only guess that the person testing the change only looked at the Animation BP window instead of actually testing it in a level running around away from the world origin.

Before I found the fix I can confirm the problem still exists in 5.3. I think the bug needs to be reopened and a more thorough explanation provided. Not sure how to comment on the bug directly but it has linked to this thread because I mentioned it earlier.

That said this thread is marked as solved because the OP accepted the use of Anim Dynamics as the solution. I preferred the result from the spring controller, much easier for what I needed - a bendy fishing rod!

Eitherway, if you are not able to build the source code yourself then you will have to wait until Epic fixes it. Its not that difficult to do, I’m a total Visual Studio newbie but I managed it.

1 Like