General Category > Ongoing Anim8or Development

IK tool

(1/27) > >>

I posted an updated IK tool in build 1247 dated September 4, 2016. The controls have been improved significantly. Here's the updated details:

To add an OK chain: In the Figure Editor, select two bones, one which is the ancestor of the other. Then apply the Build->AddIKChain command.
IK Handle: The IK Handle is shown as a small cube when the IK button is enabled in the Visibility section of the left-hand toolbars in the Figure editor.  You use this to access the IK chain's properties here. Double click to edit, move and scale it with the normal tools.
IK Widget: In the Sequence editor you move IK chains in IK mode. In addition to the IK Handle, the End Effector and move widget are shown. The End Effector is a small icosahedron positioned at the tip of the tail bone of the IK chain. Centered in the End Effector is a 3-axis cross hair for posing the chain.
IK Goal: The goal is the location that you are trying to position the end effector. As you move it around the joints in the associated IK chain will bend to try and keep the end effector aligned. If you move the goal out of range Anim8or will get as close as it can.
Undo: should work for all IK related actions.  Please report anything that doesn't work correctly.

Note: the "Rotate Children" option isn't enabled, so for the time being the child bones will be affected regardless.

To use IK:
1. Add IK controls to a Figure by selecting two bones, one which must be the parent of the other, and use the Build->AddIKChain command.
2. Create a Sequence with the Figure and click on the IK tool. The IK widgets will be shown and the animation key will be automatically enabled.
3. Click-drag on the End Effector to move the Goal in the plane of the screen. You can also click-drag the IK Handle for this. Click-drag on the different axes to move the Goal in the X, Y or Z direction relative to the Figure.
4. If the goal is unreachable, it will be shown separately from the end effector with a dashed line connecting them.
5. Anim8or adds keys for all joints in the IK chain when you move the end effector. All joints are then animated according to their individual keys. This is not the best behavior. I think a better way is to animate the end effector and use IK to position the joints accordingly at each frame. But what I have ready now is a good start :)

New to build 1247:

Locked End effector Position: In the Scene editor you can lock the position of an end effector. Then when you move any part of the figure between the locked joint and the root the position of the figure will automatically adjust to keep the effector in the same location. To lock an effector: double click on the handle and check the Lock Position check-box. Note: currently only one effector can be locked at a time.

Full Body IK: The entire body of any figure can be manipulated. Click-dragging on any bone or attached object will create a temporary IK chain from that bone to the root. This is an experimental feature. There are some issues, such as the temporary effector only moves in the plane of the screen so if you aren't in the proper view it will distort the figure. Of course the normal IK tools still work the same. Please try this out and let me know what you think.

Selected IK Controls: Build 1247 doesn't show the IK widget until you click on the handle to select it. This reduces the clutter on the screen with multiple IK chains. It also makes easier to see what it happening because the IK widgets are now drawn on top of everything.  However when several IK handles are selected the widgets can appear incorrectly drawn.

Future details: restraints on orientation of joints, IK chains that don't have to be ancestors, different IK solvers.

Joint Limits: using limits can help when you are animation.  IK favors the default angle and obeys all joint limits. Without limits you can get some strange

I've attached an updated example project on September 4, 1026.  See the Scene editor which uses the humanoid.

Have fun!

I like the new IK tool, but it works good only on bones and just partially on objects.
I've added the object to a skeleton and after skinning only the bone to which object is firstly added is affected with IK tool. However, 'standard' bone rotation works as it should.

Sorry, I forgot to mention that. Skinning is a work in progress. I'll attack that when I'm back from SIGGRSPH.

Good luck  :)

I have to say this is awsome :)

Being able to drag a joint to a place in space and have an8 work out the angles for you is awsome.

It even works with the GoldenEye Export hacks (where x becomes Z, y becomes X and z becomes Y through the addition of locked rotated joints)



[0] Message Index

[#] Next page

Go to full version