- Editado
Trying again... Help with IK's
I am trying to get one hand to stick to another. one hand is animated using IK's and a path constraint. I need the process of how to get the other hand to stick to the animated hand. Any help is appreciated.
You can use a transform constraint:
Transform Constraints - Spine User Guide
Make sure your constraints are ordered so it's first arm IK, then transform constraint to stick second hand to first hand, then second arm IK. You can drag constraints to reorder them. If you are having trouble, create a project that has nothing except 2 arms with IK and a transform constraint, then post any questions you have and the project.
Alright, so i have created a rig that is built the way I have mine. I have animated the primary hand, and tried to put on the Transform constraint, but it's not working. Here's a video that shows everything. 2017 03 08 18 46 07 - YouTube . Thanks again.
Your transform constraint mix sliders are all at zero. They control how much influence the transform constraint has:
Transform Constraints - Spine User Guide: Mix
You'll need at least translation mix. You can key the mix so the right hand gradually transitions to the left hand position.
Ok I see it now. However, in this video, you'll see that the bone is separating from the arm.
Yes, the transform constraint is moving the bones you have constrained (bones bone3
and bone6
) to the target bone (bone grab
). This is the exact same as if you translated the constrained bones yourself to match the target bone position.
Delete your transform constraint and create a new one which constrains the IK targets (eg the bones named LeftArm
and RightArm
) and targets grab
.
facedesk omg, what am I doing wrong? 2017 03 09 11 52 29 - YouTube
Hang in there. Drag the grab constraint so it happens before the IK constraints (so grab is above the other constraints in the tree). Also, if you would post the .spine file it would be easier to show the setup that does what you desire.
Here's the file.
Thanks. It is as I said in my last posts:
1) Constrain the bones you want to move. NOT bone3, bone6. You want to move the RightArm and LeftArm bones, which are the arm IK target bones.
2) Apply your transform constraint BEFORE the arm IK constraints by dragging it higher in the tree.
Attached is a project that works like you want. Click the grab constraint, then increase the transform mix to 100%.
Here's quick video of the file you fixed for me... the animation no longer plays? >.<
The animation plays, it just appears that nothing happens, which is correct. Your animation moves the RightArm bone, but the grab constraint is moving the RightArm and LeftArm bones to the grab bone. When the transform constraint translate mix is 100%, the RightArm and LeftArm bone's local translation is effectively ignored/useless.
... ok... so I need to do this: I am animating a battle idle... the hand that is holding the sword is animated using a path constraint. and then I need to stick the other arm to the sword hand so he is holding the sword with both hands. does that make sense? How can I do this?
If you want to translate RightArm in an animation, why are you constraining it to the grab bone position?
Delete your grab constraint. Delete your grab bone. Select the LeftArm bone, create a new transform constraint called grab, choose the RightArm bone as the target, set the translate mix to 100%, order the transform constraint so it is applied before IK constraints.
AWESOME! I got it to work right on the test rig, but it's not working on my actual rig. I'm guessing because there is a path constraint involved. Here's a vid showing the behavior now... you can see that the right arm is animated on a path, and the left arm is really not doing what it should. I have the hierarchy the same as when it worked on the test rig. I probably should have put a path constraint on the test rig, sorry that I didn't think of it.
Great! Progress!
I can't tell what is going on in your actual rig. Probably you have a constraint order problem. You will want to apply all the constraints that affect the RightArm first, then apply constraints to position the LeftArm to where the RightArm is.
Oh, I finally got it. Thank you!