• Editor
  • Idle animation: lower torso and arms, fix legs?

Hello everyone,

I'm currently working on the animation of my character and I'm facing a problem. In my idle animation I want to move the torso, entire head and both arms down, but I want the legs to stay exactly as they are. When I drag the torso bone down with the move tool, the entire character moves, which is logical since the legs are defined as children of the torso. Info: I have attached IK constraints to both arms and legs.

In the picture the character is in the starting position

If I now push the torso down, the entire character shifts

If you have any ideas on how I can solve this problem, I would really appreciate your help. Thanks in advance!

Related Discussions
...

When you move a parent bone, all the children move. Trying the key the counter movement is possible, but usually doesn't work very well (it may jiggle). You can change your bone hierarchy so the bones are not children. If you want them to appear like they are children sometimes (or most of the time), you can use a transform constraint. Enable it when the leg bones should move with the torso bone, disable it when they should not.

See this tip:

Bild entfernt wegen fehlender Unterstützung für HTTPS. | Trotzdem zeigen


https://esotericsoftware.com/spine-tips#7-holdingweapon

I saw the tip and am trying to understand it. Regarding my character, I have the bones Leg_r, Leg_l and Torso. Now I'm unsure which bones should be given transform constraints and where the target should be. The entire workflow is not clear to me. I'm really sorry that you have to keep dealing with seemingly simple things. I've spent hours looking for a solution, watching videos and reading the Transform Constraints User Guide, but I still can't figure it out. Could you please also explain to me how I actually activate and deactivate a transform constraint? Thanks for the support!

The tip is a little more complex than your setup, sorry it wasn't clear enough. Here is a project showing it:
http://n4te.com/x/8519-legs.spine
Even though the hip is not a child of the torso, move the torso and the hip moves with it. Click the transform constraint and set the X and Y mixes to zero. Now when you move the torso the hip does not move with it.

I have the legs as children of the hip. If you don't have a hip, you could change the transform constraint bones to the two thigh bones. When you do this you'll find the 2 bones move to the hip bone position. This is because the constraint's offset X and Y is set to the position of the hip bone in relation to the target bone (the torso). Set the mixes to 0 so the legs move back to the unconstrained pose. Now click Match to set the offset to the first constrained bone. Set the X and Y mixes back to 100 and you'll see the bones are now both at one of the leg bones. If you need to position the constrained bones differently, use a hip bone.

For more of your understanding, delete the transform constraint, select the hip, New > transform constraint, choose the torso. Set the X and Y mixes to 100 and see what happens -- the bones move, but we probably don't want them to. Set them back to 0, click Match, and set them to 100 again. You'll see nothing happens because the transform constraint moves the hip bone to the torso bone plus the offset, and you've set the offset to the difference between the torso and hip bone. You're done, the constraint is working, move the torso to see the hip move.

First of all, thank you for the excellent tutorial and the additional project you created. I successfully added a new bone called "hip" to my character and was able to successfully apply the transformation constraint. Also, I have now separated the legs from the torso so they are no longer a child of the torso, but now a child of the hip. However, when I pull the hip bone or the torso down, the entire body continues to sink. What adjustments do I need to make to control this effect?

new transformation constraint

the problem

  • Bearbeitet

If the hip moves when the torso moves and the hip is not a child, then it's the transform constraint that is moving the hip. Set the mixes to 0.

Hello Nate,

First of all, thank you very much! Following your instructions was really easy and I have now achieved the desired effect. However, there is now a hard keyframe, which means that there is no smooth transition to the next keyframe. Do you have any ideas how I can fix this problem?

Thanks a lot in advance!

Glad it helped!

It's hard to say what is happening in your animation. You could be keying the transform constraint mixes to 0 at frame 0, then translating the torso with a stepped key, so it goes from the setup pose to the key instantly. Or you could be keying the mixes with a stepped key, so it goes from the setup pose to the key instantly and the movement is because you didn't use Match as described above. Stepped keys are dashed lines in the dopesheet and graph.

Set a key (eg translation at the setup pose or mix at 100), move the timeline position ahead a few frames, then set another key (eg translation moving the torso down or mix at 0). Spine interpolates between those keys, giving you smooth movement. This is how everything in Spine is animated.

Thanks a lot! I think the problem is that I only set the transform constraint to 0 in the 15th frame. I also need to set the Transform Constraint back to 100 at the beginning and end of the animation so that the animation has a reference point to create a smooth transition. However, after I implemented this, only the legs move up and down and not the torso.

Here's why it probably doesn't have a smooth transition:

Here you can see that the legs move up and down, instead of the torso

Yep, you can see the dashed line in the dopesheet showing the stepped transition.

Since your bones are moving when you change the transform constraint mix, you haven't set up the transform constraint offset like I explained above. Fix that, then you can set the mix to 0 on frame 0 so it's not active for the entire animation.

Next, set keys for translation to get translation values that change over time.

  • Trilex hat auf diesen Beitrag geantwortet.
  • Trilex gefällt das.

    Nate I did it, thank you for your support!