Anim8or Community

General Category => Ongoing Anim8or Development => Topic started by: Steve on July 23, 2016, 02:51:32 pm

Title: IK tool
Post by: Steve on July 23, 2016, 02:51:32 pm
I posted an updated IK tool in build 1247 (http://www.anim8or.com/download/preview/files/animcl1247.zip) 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 (http://www.anim8or.com/download/preview/files/animcl1247.zip):

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!
Title: Re: IK tool
Post by: slex on July 23, 2016, 10:04:09 pm
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.
Title: Re: IK tool
Post by: Steve on July 24, 2016, 12:12:43 am
Sorry, I forgot to mention that. Skinning is a work in progress. I'll attack that when I'm back from SIGGRSPH.
Steve
Title: Re: IK tool
Post by: slex on July 24, 2016, 08:16:23 am
Good luck  :)
Title: Re: IK tool
Post by: Trevor on July 24, 2016, 12:07:03 pm
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)

Trev
Title: Re: IK tool
Post by: captaindrewi on July 25, 2016, 06:21:03 am
july 23, 2016 ...a great day for the history books....enjoying.
Title: Re: IK tool
Post by: neirao on July 25, 2016, 09:51:35 am
Very Nice!! Thanks Steve!! :)
Title: Re: IK tool
Post by: captaindrewi on July 25, 2016, 10:13:17 am
The example test file works fine :) but i am struggling to create my own figure with IK chain, the cross hair control is created but nothing moves.When i try to make a 2 bone ik chain the cross hair thing appears in a different place than the two bone example.
Title: Re: IK tool
Post by: Trevor on July 25, 2016, 11:12:20 am
works fine for me and I had a chain of  9 (3 joints, 2 connectors and 4 "converters")

when you create it you can assign the bones in the dialog or
Click the "root" (doesnt need to be the bone named root, but could be for example the shoulder) and then right click the end (eg hand)
This should result in 2 selected bones.
Build > Create IK Chain > OK

Now when you see the crosshair and click on it you will see all the bones in the chain highlight and when you drag the crosshair it will move the final bone as close as possible to the position by rotating the previous bones.

If your bones are locked then nothing will happen.

For testing purposes make your bones free.

Also, I should mention, although the screenshot I posted should be proof enough, that bone skinning actually does work with IK.
The "Problem" is that it doesnt update untill you bring up a dialog and close it.

Trev
Title: Re: IK tool
Post by: captaindrewi on July 25, 2016, 02:28:46 pm
Yeah working as expected now :) once i changed the bone limits to -90 0 90 values rather than default no limits.
Title: Re: IK tool
Post by: Kyle on July 25, 2016, 05:46:30 pm
YES! This was easily my most requested feature. It sounds like its still rusty, but any progress is a start, since we only got a taste of it before.

Edit: The sample seems to work as expected, but I too am having trouble setting up my own. Guess I need more of a tutorial.
Title: Re: IK tool
Post by: daniel99 on August 04, 2016, 05:27:15 am
Wow, Steve! :D
And that makes anim8or the god of 3d programs :D At least in my book.

But I really believe a controller for the root would be essential.
As can be seen in my attachment img, when you move the root control, the feet would stay fixed on the ground, until the feet controls are moved.

I find it useful that the IK controller creates frames for every bone.

Also, I believe would be great to be able to hide the bones and only show the IK controls.
     Thanks Steve. You're awesome, as always :D
Title: Re: IK tool
Post by: johnar on August 05, 2016, 05:52:55 am
Agree with daniel99
Quote
...a controller for the root would be essential...when you move the root control, the feet would stay fixed on the ground, until the feet controls are moved...
No more slipping feet!!! (http://s8.postimg.org/j64xwcx9d/Big_Grin_Gry.gif)
 Would need a similar setup to allow for hands to stay in place ?

 It's really really excellent that anim8or now has the beginning of an IK system, and it's really, really, REALLY excellent  that we will now begin to have both IK and FK systems to choose/use and mix.
Quote
july 23, 2016 ... sure is a great day for the history books....
Yip, a really signiffagint day. A giant step on the way to the big V1

Absolutely awesome steve.!!! Anim8or for life (http://s24.postimg.org/o4uvmxwjl/Thumbs_Up_G1.gif)(http://s24.postimg.org/o4uvmxwjl/Thumbs_Up_G1.gif)(http://s8.postimg.org/j64xwcx9d/Big_Grin_Gry.gif)(http://s24.postimg.org/o4uvmxwjl/Thumbs_Up_G1.gif)(http://s24.postimg.org/o4uvmxwjl/Thumbs_Up_G1.gif)
 
Title: Re: IK tool
Post by: daniel99 on August 05, 2016, 07:29:21 am
Thanks, Johnar. Btw, I've missed your characters :D
I've seen a recent post with them.
Title: Re: IK tool
Post by: Steve on August 05, 2016, 12:04:06 pm
Thanks, everybody. I finally got tired of the IK not working and spent a bunch of time finding and fixing the problem(s) with the solver.  It's not perfect but at least it's functional now.

The next part is the controls for the IK tools.  I'm still working out the details but I've made a lot of progress. There will definitely be a way to lock the position and/or the angle of the end effector though I haven't worked out the details yet.

The idea is that you lock can enable and disable the lock by frame so you can lock the left foot and move the right foot to make your character take one step, then lock the right, unlock the left and step with the left foot.  The rest of the character will follow.

There's still a bunch of work to get this implemented but this is my current project. Stay tuned I'll post an update soon ...
Title: Re: IK tool
Post by: daniel99 on August 05, 2016, 01:31:02 pm
Amazing news, Steve.
Might be a good idea to have a check box for locking the limbs. For example, when animating a quadruped, the feet would be locked, and maybe automatically unlock when moving the feet controls.

And, btw. Great job with the normal map. I believe would be awesome to also have a displacement map. Will you consider it?

Thanks !
Title: Re: IK tool
Post by: Steve on August 07, 2016, 07:47:06 pm
OK I posted an updated IK tool in build 1235 (http://www.anim8or.com/download/preview/files/animcl1235.zip). The controls have been improved significantly, so check it out and let me know what you think!
Title: Re: IK tool
Post by: daniel99 on August 07, 2016, 07:51:40 pm
I'm checking it right now :) :) :)
Title: Re: IK tool
Post by: daniel99 on August 07, 2016, 07:58:27 pm
OMFG....Just after a few minute playing with it, ..I'm ... I'.m .... you should see my face now :)))
It's just perfect, and you added the right-clight+drag for Y axis, that's just great. Also, thanks for giving the option to hide the bones while IK controls are on.
I can not describe how happy I am for all these amazing options.
Btw, is there a way to add the root IK and I didn't find it, or not yet?

Thank you Steve.
Title: Re: IK tool
Post by: Steve on September 05, 2016, 01:28:25 pm
I posted build 1247 (http://www.anim8or.com/download/preview/files/animcl1247.zip) with a lot of new IK features.  See the first post in the topic for details :)
Title: Re: IK tool
Post by: nemyax on September 05, 2016, 03:52:18 pm
Without limits you can get some strange
I find that currently you can't even use IK unless you set up some limits.

different IK solvers
Do you mean regular IK and spline IK?
Title: Re: IK tool
Post by: daniel99 on September 05, 2016, 06:22:45 pm
Hey, Steve!

I was out for a walk with my gf, and when I got home, seeing the new build I was like "Wow, that's a great Birthday Gift for me from Steve" :)
I love the IK updates.

* I would say it's sad 'cause we can't lock more than one bone. When making a quadruped, would be useful to be able to lock all limbs.
** Also, there's kinda bug, I guess, when the foot doesn't stick in place (0:33 in vid)
When animating, it sticks in place, but when you playback, it kinda wiggles.
It's great this new addition, even with the foot locked, you can still move it by shins.

And also a bug that sometimes happen, the bone snaps back in place, and I have to restart Anim8or. (0:00 to 0:30 in video)

[/youtube]

Title: Re: IK tool
Post by: Steve on September 05, 2016, 06:59:43 pm
nemyax: Anim8or's IK doesn't work very well with unrestricted joints. There isn't any limitation to how the boned can bend and it just goes whacky. This is because the only current IK solver is very general. When you define joint limits Anim8or uses the default angle as the preferred angle. Programs like 3DStudio Max have multiple solvers, including ones specially designed to model a human arm or leg (ball socket at the hip/shoulder, hinge at the knee/elbow) and they mimic how these joints work. To do this in Anim8or with the current solver you need to give the knee/elbow one degree of freedom (and don't let it bend backwards unless it's a bird's leg!) and the hip/shoulder all 3 degrees.  I'll be adding different solvers once the overall interface is more or less final.

daniel99: Yes, the snapping back looks like a bug.  I'll investigate.  As for the locked joint slipping, I'm aware of this. The plan is to add locked positions as animatable properties and keep the position locked as frames are interpolated. This requires doing IK on each frame, which is in the works but not yet finished. Once this is finished the slipping won't happen.

As for locking more bones, yes! this is what I want to do. I just haven't yet come up with a good overall definition for how this should work yet.
Title: Re: IK tool
Post by: daniel99 on September 05, 2016, 07:07:56 pm
Steve:
Thanks, man! I can't wait :D That's amazing! And I really love all these weekly updates/builds.
Title: Re: IK tool
Post by: nemyax on September 05, 2016, 07:38:46 pm
I'll be adding different solvers once the overall interface is more or less final.
Wouldn't a single generic solver for non-spline IK be better? One that would support a pole vector, stiffness settings, rotation limits, axis locks, etc.?
Title: Re: IK tool
Post by: ELECTROHERMIT on September 14, 2016, 05:30:52 pm
!!!!!!!!!WOW!!!!!!!!!!!!

Steve, I can't believe we have another build and the interface is amazing. I'm so excited it almost doesn't seem real... the rest of my evening has just been put to the side to play with this new Anim8tor build and appreciate how lucky we are that you are back in the lab!

David Davis
Professional Medical Illustrator AEIMS, AMI, M.D.A
Title: Re: IK tool
Post by: Trevor on September 15, 2016, 04:39:36 am
Maybe I misunderstood but, when you say;
" I'll be adding different solvers once the overall interface is more or less final"
Do you mean there will be a list of preset properties to choose from (Custom, Ball-Joint (Shoulder), hinge (Knee))?

Trev
Title: Re: IK tool
Post by: johnar on September 19, 2016, 11:18:58 am
Hi there steve and all.
The IK is coming along awesomely.
 A couple of thoughts.
 When you move an IK chain, keys are created, but not selected.
IK keys should be selected when they are created.
 Not only does it make them more reckonizable in the time track, it would also allow for quick copy - pasting, which i think is pretty essential.
 (http://s6.postimg.org/4y98eizkt/grywink.gif)

  The other thing, i don't know about anybody else, but i'm still finding it pretty hard, at times, to easily see the IK box before its selected.
 Perhaps they could be a different color than the rig?, and maybe even a smidgen bigger ?

 One more thing.
 At the moment, you need to move an IK chain to set any keys. (http://s18.postimg.org/nbb3zykhh/Not_Happy_G.gif)
 Ideally, there should be a way to key the bones in the selected IK chain without needing to move it. Perhaps it can be tied in somehow to key selected bones, where anim8or knows which bones to key because of the IK chain selected.
 Keep up the great stuff steve.
 Anim8or is absolutely rockin'
Title: Re: IK tool
Post by: Steve on September 19, 2016, 11:29:19 am
johnar: Good feedback. I'm still experimenting with the look of the IK handle. One thing you can do now to help the visibility is to move and scale the handle. In the Figure editor, click on the handle to select it. Then use the Scale and Move tools to change it's location and size. User colors is also a really good idea for this.
Title: Re: IK tool
Post by: nemyax on September 19, 2016, 11:33:36 am
When you move an IK chain, keys are created, but not selected.
If I'm getting Steve's idea right, these keys are a temporary solution anyway (or at least only a secondary solution). When animating with IK, you generally set keys on the target, not on the chain members. In the final version, to change the motion, you only have to reposition the target, and the chain will still follow it wherever it goes, without being keyed.
Title: Re: IK tool
Post by: Steve on September 19, 2016, 12:07:47 pm
The keys could be still be set in the final design. The big thing now that needs work is keeping IK effectors' positions locked between keys and using IK to supply the intermediate values. The idea is that you can adjust individual joints in the middle of the chain to refine the motion while still using the overall IK behavior. I'm not exactly sure what will work best yet.
Title: Re: IK tool
Post by: daniel99 on September 19, 2016, 04:00:57 pm
I found I can scale the handles when I had the handles too big for one of my figures. But the capability to key the bones without moving the selected IK chain is a damn good idea, johnar. I usually move it a bit. But would be practical if we could have in the IK Chain Scene Editor the possibility to Add Key (next to the "Lock Position"), same as in Key Value Editor for the bones.

But for the moment, I can deal with that with no problem. The biggest update I'm waiting for is the possibility to use Forward and Inverse Kinematics. So, I can't wait to try the new build. Steve is working to find a solution for the end-effectors, and that would be awesome for animating walks and organic motion. :D :D :D
Title: Re: IK tool
Post by: nemyax on September 20, 2016, 03:32:51 am
I'm not exactly sure what will work best yet.
Pole vector?
Title: Re: IK tool
Post by: johnar on September 21, 2016, 01:46:40 am
steve
 Scaling and moving the IK handle makes things a lot easier.
 Thanks for the tip.  :)
Title: Re: IK tool
Post by: ENSONIQ5 on September 21, 2016, 09:03:10 am
I loaded 1247 this evening and have had a play with IK, so far everything is working as it should (though I haven't tested everything yet).  I have some chains of 12+ bones, no problem, but I did have a crash when I attempted to chain 20+ bones (I will attempt to recreate the fault).  The only other thing I've found, and I'm not sure it's a bug (could be my local settings) but when 'playing' a sequence to check motion it isn't possible to stop the playback after about 20 or 30 frames.  Attempting to stop it results in the circling cursor and the window 'whiting out', and nothing can be clicked.  The playback continues to the end, once it completes everything comes good.

I have some experience with Carrara's IK setup so I thought it might be beneficial to provide a comparison.  Anim8or's IK is at least as powerful and simple to use as Carrara's, which is a pretty amazing achievement Steve since that package has had $$$ worth of development.  The only advantage with Carrara's system over Anim8or's that I can detect is that IK can be applied to a boneless object hierarchy, ie. bones are not required.  The equivalent would be the ability to set the joint type when setting an object element as the child of another object element in Scene mode, with no Figure required, and the setting of IK chains across these elements.  This allows for some more complex joints, such as sliders (like hydraulic rams).  Truthfully, it's a minor advantage that would seem (from my awestruck perspective) to require an awful lot of work that I don't think would be worth it to be honest.  There's other ways to achieve the same effect with the existing setup.

One big advantage with Anim8or's system is the ability to lock effectors in Scene mode.  I haven't played with this (yet) but certainly plan to, its positive impact on the ability to create realistic walking action cannot be overstated!

I'm adding IK to an existing project (T-Rex skeleton) and hope to have something to show for it soon, and I'll let you know if I find anything that doesn't work as expected.  This is seriously the coolest thing to happen to Anim8or in ages, can't thank you enough Steve!
Title: Re: IK tool
Post by: Steve on September 21, 2016, 09:44:11 pm
I just posted build 1250 (http://www.anim8or.com/download/preview/files/animcl1250.zip) with some things that might be of interest :)  I haven't completed locking of more than one IK end effector yet, but I'm working on it.

daniel99: I think I've fixed your crash problem. At least I fixed something similar to it. Please check out the build when you get a chance, and also see if your snapping back bug is fixed.

johnar: "IK keys should be selected when they are created." Should do this now (http://s6.postimg.org/p4cqdev8d/grysmile.gif)  Also Key Selected Bones (hot key 'k') now should work. When you slick on an IK handle it automatically selects all bones, but doesn't add keys unless you move the mouse. Then you can use the 'k' hot key to key them as they are. I also added Morph Targets so "Key Selected Bones" is now "Key Selected Bones And Morph Targets".  I also add entries in the track window for all joints and morph targets even if they don't have any keys set.
Title: Re: IK tool
Post by: daniel99 on September 22, 2016, 03:15:20 am
Steve: Oh,goody-goody! Let's see!
Title: Re: IK tool
Post by: thecolclough on September 22, 2016, 05:31:33 am
I also add entries in the track window for all joints and morph targets even if they don't have any keys set.
this will definitely be useful in some contexts, but i know i've had other cases where it's been useful not to have these entries showing - would it be possible to make this feature user-toggle-able?
Title: Re: IK tool
Post by: johnar on September 22, 2016, 06:16:13 am
Quote
would it be possible to make this feature user-toggle-able?
I agree with thecolclough that the timetrack entries can become way to long, and there does need to be a way to control this. Has been on my mind for quite some time.
  Perhaps a 'menu folder' arrangement?, like in object and editor modes.
  The folders show n the timetrack, with the little plus signs for opening and closing. (collapsing) They could open and close directly above/below each other, so as not to take up more room in the the actual timetrack.
 morph targets could have a 'menu folder' of there own, inside the folder of the relevant folder. ;)
  One long time wishlist thing of mine is the ability to 'drag' the timetrack entries up and down in the left hand colum of the timetrack. Often the morphs are at the bottom or top of the list, and the bones are at the other end, which can be a lot of scrolling up and down. It would be nice if the user could  drag the essential entries closer together. Closer to the action, so to speak.
 If it was a 'dragable, menu folder' type arrangement, it might actually work quite well. ??
  But, of course, this is not an IK thing, and this is the IK thread, and i've rattled on long enough.  :)

 Now for why i originally came to post, lol.
 Steve  Latest build. MAGIC. Working perfectly. This is GREAT!! (http://s8.postimg.org/j64xwcx9d/Big_Grin_Gry.gif)(http://s8.postimg.org/j64xwcx9d/Big_Grin_Gry.gif)
You've done it to me on my birthday again, bless you steve. Thanks. (http://s7.postimg.org/r1wnua9w7/SSG03_W.gif)


Title: Re: IK tool
Post by: ENSONIQ5 on September 22, 2016, 08:57:54 am
Could be intentional but I'll mention this anyway, if IK is selected in Scene mode the IK widgets associated with a figure element actually render as solid cubes (build 1250).  Deselecting IK stops them being rendered so all good but I would assume they should be a non-rendering item.
Title: Re: IK tool
Post by: johnar on September 22, 2016, 09:26:27 am
 Funny thing you mentioned that ENSONIQ5. I've just posted another wee clip of froyd with his things showing. http://www.anim8or.com/smf/index.php/topic,5051.30.html
 It's actually quite cool being able to render them as well.  The camera has always been 'renderable' as well, so maybe it is intentional?
 Good to see you on board, by the way. (http://s6.postimg.org/4y98eizkt/grywink.gif)

 steve The new way of keying the IK chains has improved animating immensely. It's so much faster, and easy to use. That goes for keying the morphs as well. Its just absolutely super.
 Animating now, already, is soooooooo much easier.
 Hats off to you sir. Its a breakthrough!
 Thank you, thank you, thank you. (http://s6.postimg.org/p4cqdev8d/grysmile.gif)
 
Title: Re: IK tool
Post by: daniel99 on September 22, 2016, 09:27:22 am
ENSONIQ5: I've noticed that a while ago. If deactivated, the IK controllers won't render. But being renderable, sometimes could be useful. So that's great!
Title: Re: IK tool
Post by: Steve on September 22, 2016, 09:45:36 am
johnar: "Perhaps a 'menu folder' arrangement?" (for the Time Track). I've been thinking about something like this for a while, too. There are several ways for it to work. I was thinking about additional menu commands to do things like group selected keys, etc. But working like the menu folders do is more consistent and probably simpler to implement. And Happy Birthday.

ENSONIQ5: Oops! I guess I haven't made any renders with IK tools. I don't think that they should render. This is trivial to fix. --- but daniel99 also has a point.
Title: Re: IK tool
Post by: daniel99 on September 22, 2016, 10:19:14 am
Steve My personal opinion:It is useful to have the IK controllers renderable. Sometimes, for a presentation, demo or for showing/explaining to the clients can be very useful. And just turning the IK off when final rendering.
Also, Steve... Let's say I have to render the cat, and I have a separate layer for the fur. In figure mode, I add the body mesh layer and the fur layer and rig them both to the bones. I hide the fur, to be able to animate faster only the body mesh. But in the scene mode, the fur still shows. Can you make it not to show the hidden layers?
When I want to render, I simply go back in figure mode, and Shift+H the fur layer, and it should show in scene mode.

Same thing when I have a hipoly mesh. I could rig the Hipoly and the LowPoly mesh. When I make the animation, I hide the Hipoly, and work with Lowpoly. When rendering, Show the HiPoly Mesh.

The second point I wanna make. Let's say I made an animation, and I click the figure, selecting all the layers. Unfortunately, I can not copy all the layers in the figure at once. This can be useful. And I remember some old build had that feature. If I have the same figure in two scenes, and I simply want to copy the keyframes from first scene FigureA to second scene FigureA ?
Title: Re: IK tool
Post by: johnar on October 03, 2016, 09:15:39 am
Hi steve
Ik is working really, really well. (http://s6.postimg.org/p4cqdev8d/grysmile.gif)
 Thanks so much.

1 thing.
When i first add a figure to scene mode and highlight the IK buttons, the ik handles or boxes wont show. Not until i've gone into figure mode, then back to scene mode. Then the handles/boxes are showing and can have visibility turned off and on  just as it does in sequence and figure modes. (perfectly).

 The full body IK is interesting, i like the idea, and think it could be a great thing, especially once you've solved how to get those end effectors to lock, and stay, in position.
  I know you're still working on that.
 One experiment involved locking froyds left foot to the ground. Then, in front view, grabbing his forearm and dragging him gently back and forth along the x axis. (full body ik) I notice the foot tries to stay in place, but then moves away with the dotted line showing it is out of range.
 From a laymens point of view, it makes me think, if that foot is locked there, then it should stay right there 'regardless of all else'.
 I have no real idea of how you make this magical thing work, but it's like, that locked foot position needs to be 'absolutely unmovable by anything else', until it is unlocked.
 If that can happen, she'll be golden.
 Good luck with this steve. I'm sure with the occasional 'eureka' moment, and your hours and hours of hard work, she'll get there. (http://s6.postimg.org/4y98eizkt/grywink.gif)
 Anim8or 4eva
Title: Re: IK tool
Post by: daniel99 on October 03, 2016, 09:29:50 am
johnar: I totally agree. I've been thinking a lot about that. But it seems sometimes would be very helpful to have the locked feet follow the body (example: jumping), but also other times would be essential to have the feet stay in place... I don't really know which would be better...
Title: Re: IK tool
Post by: Steve on October 03, 2016, 12:02:04 pm
johnar: I agree. What I want is both locked effectors that won't move no matter what, and "goal" effectors like it works now. There are a lot of other options that might be useful, or might just make the interface too complicated: locking an individual axis, locking rotation, limiting movement in a direction (i.e. don't let the effector go below Y=0 (the ground) but let it move higher.) But this is all for sometime later.

#098-092 - End effectors don't show after adding a Figure to a Scene. -- Thanks for the bug report.

Title: Re: IK tool
Post by: johnar on October 04, 2016, 02:44:31 am
steve
 you're welcome

Quote
locked effectors that won't move no matter what, and "goal" effectors like it works now.
Perfect. The 'sometime later' things sound awesome also, but "locking the effectors, along with the goal effectors we have now", will make the IK system 'a proper runner'.  (http://s6.postimg.org/4y98eizkt/grywink.gif)

daniel99
Quote
sometimes would be very helpful to have the locked feet follow the body (example: jumping)
The way i see it, when you lock the foot/feet to the ground, i'm imagining that will set some kind of 'locked key' (?) So on the last frame before the feet leave the ground, locked effectors will be locked, and on the next frame, double click the effector and 'unlock it', so it can move from it's previously 'locked' position. ie: Leave the ground. (or where-ever it was locked too.)
 
 On another IK related subject, i've been moving between IK and FK 'a lot', (in the same animation), and haven't had a problem for 99% of the time. Haven't had a reproduce-able freeze yet. Am keeping alert for it tho, in mind of having something 'reportable' if i can reproduce it.

 EDIT: Started anim8or after last post and was reminded, there is a glitch which i've found, but its in FK mode, when swapping between the two, (IK/FK), and is trackball related.
I'll get back later when i can give more precise info. If its a trackball issue, and not related to IK, i'll post it in the trackball thread.
Cheers  (http://s6.postimg.org/p4cqdev8d/grysmile.gif)
Title: Re: IK tool
Post by: daniel99 on October 04, 2016, 07:44:49 am
johnar I agree :D About the crashing/freezing. Fortunately, I haven't had a freeze since Steve fixed it, a couple of builds ago, I believe. It happened kinda often when dealing with IK. I'm glad this didn't happen for a while, but i I'll have some more problems with that, I'll let you know/screen rec.
Title: Re: IK tool
Post by: johnar on October 06, 2016, 06:10:33 am
Hi  steve, and An8 users (http://s6.postimg.org/p4cqdev8d/grysmile.gif)

Got a bit carried away with this post, but will take a gamble and post it.
 I'm trying to work out the easiest, most fluent method(s) for character aniamation using the tools available in Anim8or.
IK and a few other upgrades have thrown some brilliant options into the mix.
 It seems a commonly accepted point,(?), that when animating with IK, the joints in the IK chain may need to be 'tweaked' using the FK system.
 Ok, so that's fine. Therefore, a fluent method of character animation would require being easilly able to flick back and forth  between IK and FK.
 Fastest way, of course, is shortcut keys.
 Cool. So, we can jump back and forth quickly and easily, thats half the problem solved. (from a users point of view anyway).
 The next part of keeping fluidity in the animation process would be to be able to continue animating as quickly as possible once you have changed into either IK or FK
 As it is now, going from FK to IK is fast and straight forward. Click into IK, the effectors are showing, the green key is on, and you can continue animating 'step unbroken'.
 IK and away. (http://s6.postimg.org/4y98eizkt/grywink.gif)

 From IK to FK is not so 'clean'.
 If an IK chain is selected when you change to FK, the trackballs of all relevant bones, (selected), are showing. In reality, trying to use the trackball when its overlapped with other trackballs, is extremely difficult, if not impossible.
 I also notice the z axis often wont rotate all the way to its limit. (?) (using trackball)
 The trackballs are a superb addition, but, imho, there are times when you just can't beat the LMB, MMB, RMB on the bone itself, for moving that bone exactly how you want it.
 (some situations the trackball is better, some situations not)
 
 Progress in finding 'the easiest and most fluent method(s)' for animating in Anim8or has just recently taken a huge step, with the introduction of IK, and the key and shortcut keys available.
 I'm a fan of double keying for complete stillness. Its quicker than needing to set a step key at the beginning of a movement, and brings movement to a complete stop when required.
  ie: an IK limb is selected by clicking on the effector. The bones are selected. Press 'k', and they're keyed. Press 'Ctrl-C' copies the keys. Arrow moves 1 frame fwd. Press 'Ctrl-V' keys are pasted. (just made a double key) Move fwd a few frames, rotate selected IK Chain etc ...
 At some point along the timetrack, it can become difficult keeping up with the keys on multiple limbs. 'Key all bones' is a good fix for that. And double keying all bones is a fresh clean ''re-starting' point.
 So, i guess what this post is getting at, in my quest for a fluid method of animating, is actually a re-quest:
 Quick key(s) for jumping between IK-FK-IK-etc.
 Quick key(s) for turning trackballs on and off
 
 and a Quick key for key all bones. You could just select the entire figure and press k, but that would also key morphs, which wouldn't always be what you want to do. So a seperate quick key for key all bones would be a usefull/(crucial) option.
  ??
 Thanks for reading. (http://s6.postimg.org/p4cqdev8d/grysmile.gif)

EDIT: Have posted an possible alternative to 'Quick key(s) for turning trackballs on and off'
 (In trackball thread)
Title: Re: IK tool
Post by: nemyax on October 06, 2016, 07:23:36 am
a fluent method of character animation would require being easilly able to flick back and forth  between IK and FK.
This is commonly done by making IK strength a separate animation track where you can set keys in the range 0.0 (full FK) to 1.0 (full IK). In this case, rotation keys are ignored at full IK, and they get more influence as IK strength decreases.
Of course, this requires that IK be based on a real-time solver instead of a system for auto-setting rotation keys as in the current Anim8or.
Title: Re: IK tool
Post by: Steve on October 06, 2016, 08:13:16 pm
johnar: I agree that all those trackballs is too cluttered. Showing just the last clicked-on bone could be a nice solution. I'll experiment.

I also plan to try enabling IK with the Bone Rotate tool: with IK visible, you'll be able to click-drag an IK handle, or click to select and then use the IK widget. In effect IK and FK would be the same tool. The only catch is that I haven't worked out how to move the whole figure like you can now in the IK tool.

I've also looked at 3D Studio which only shows 1 trackball even when you select multiple bones, but when you rotate it the bones rotate is odd ways, not how you'd expect with a skeleton system. But it doesn't show multiple trackballs, at least I haven't been able to make it do that.

I forgot to add: "I also notice the z axis often wont rotate all the way to its limit." When you rotate along one axis it can also change the others. The X can affect all three, the Z can also change X, but Y is independent. This is because of the order that the rotations are used when building the final (quaternion) orientation: First rotate X, then rotate Z in the resulting orientation after X has been applied, then Y after both X and Z. (It's mathematically impossible to do them simultaneously!)

So when you rotate around the Z axis and the X angle is also changing, when either the X or Z value hits a limit the rotation stops.

Note that when yo display the axis as arcs (hot key-X) the three axes are not always at right angles. unlike the trackball whose axes are. This is because the trackball rotates uses the final orientation as it's basis, thus avoiding the gimbal lock'

nemyax: I'm not sure what it would mean to have half IK and half FK. Do you move the effector half-way to the goal?
Title: Re: IK tool
Post by: johnar on October 07, 2016, 02:22:22 am
steve
Ok. Good one. Understood, and interesting. Thanks for that. Cheers.  :)

nemyax
 Thanks for the comparison.  :)
Title: Re: IK tool
Post by: nemyax on October 07, 2016, 08:39:13 am
nemyax: I'm not sure what it would mean to have half IK and half FK. Do you move the effector half-way to the goal?
I mean IK animation and FK animation are independent from each other. Which one kicks in depends on which is currently enabled, and the on/off state of IK can be animated.
Title: Re: IK tool
Post by: nemyax on October 07, 2016, 10:54:49 am
Steve
Here's an example of this in action (Maya):


Note how the bones are animated with both FK and IK and you can switch between the two. While one is active, a ghost animation of the other is displayed (this is optional).
Title: Re: IK tool
Post by: Steve on October 09, 2016, 07:11:43 pm
johnar: I just posted build 1255 (http://www.anim8or.com/download/preview/files/animcl1255.zip) that should address some of your concerns about switching between IK and FK. The main differences are:

1) Only one track ball shown. Normally it is for the most recently clicked bone in Bone Rotate mode. If that one has been deselected then it picks another one.
2) Bone selections are preserved when switching between IK, FK (and other tools).
3) There is a new hot key for "Key All Bones" Ctrl-K.
   Question 1: should this also key all morph targets, like Key All Selected Bones + Morph Targets does?
   Question 2: this set's keys for all bones in all figures, as it always has. This could be a problem for large scenes. Should I change it to only key things in any figure with at lease one selected bone? It seems like something like this is needed.
4) I've added the first part of Folders for Bones. You can add bones to folders, just like you can for objects, scenes, etc. They are currently grouped in the time-track by folder but this is a work in progress. The folder isn't shown and you can't expand or collapse folders, etc. because I haven't finished that code yet.

Give the new IK-FK transition changes a try and let me know what you think!
Title: Re: IK tool
Post by: johnar on October 09, 2016, 08:32:15 pm
 Hi steve.
 That's awesome stuff.
 Will get a chance to give 1255 a spin tonite, and will get back to you on that.
 I can answer your questions now tho.

Quote
Question 1: should this also key all morph targets, like Key All Selected Bones + Morph Targets does?
I don't think 'key all bones' should key all morph targets as well.
 With character animation, morph targets are probably mostly used for facial expressions, lip sync etc, and not necessarily in tune with the movement of the figure. So, in these cases, you
would be animating bones and morph targets quite seperately, and would not necessarilly be wanting to create any morph keys while animating the rig.
 Being able to key 'selected bones and morph targets', as we can now, already gives the
ability to choose morphs as well 'when required'.

 
Quote
Question 2: this set's keys for all bones in all figures, as it always has........
Key all bones could key just the bones of the selected figure?
 Its only a mouse click to select extra figures if you want all bones keyed in them as well.
 Keying 'just the selected figure' could save a lot of unnecessary keys in the file.
 
 will sign off for now, and get back to you soon.
 Thanks steve. Magic. (http://s6.postimg.org/p4cqdev8d/grysmile.gif)

 

 
Title: Re: IK tool
Post by: daniel99 on October 09, 2016, 11:04:44 pm
Nice work, Steve!
Just a little something I've just noticed. When I drag outside the work area, it seems the figure change position... I usually drag outside to reset the last action, but now it jumps :D
Btw. Any idea when you'll be able to fix the end effectors not to wiggle around?
Thanks.
Keep up the good work.


Title: Re: IK tool
Post by: Steve on October 10, 2016, 01:28:53 pm
danien99: I can repro this bug - I'll fix it. As for the end effectors staying put, I'm working on it. There's a lot of code to change to integrate it with the existing controllers.
Title: Re: IK tool
Post by: thecolclough on October 10, 2016, 03:54:46 pm
Question 2 ... Should I change it to only key things in any figure with at lease one selected bone?
i'd definitely prefer this option
Title: Re: IK tool
Post by: johnar on October 10, 2016, 05:25:06 pm
The menu folder grouping is great so far.
 As a trial, for now, for froyd, i created 4 groups.
 Below waist. Above waist. HandLeft and HandRight. (for fingers).
  Everything is grouped in the timetrack as it should be, and once the collapsable folders are in place, the amount of room in the timetrack will have increased massively.
 Menu folders will make a huge difference in the timetrack, and morph targets will be much easier to access, without needing to scroll past everything else to get there.
 Nice one steve. (http://s24.postimg.org/o4uvmxwjl/Thumbs_Up_G1.gif)
Title: Re: IK tool
Post by: Steve on October 10, 2016, 05:31:49 pm
OK then "Key All Bones" will key all bones in any figure that is selected or has at least one bone selected. Note: switching between modes will preserve figure and bone selection, but entering IK or FK will deselect everything else (cameras, attached objects, lights, etc.) since these other things aren't relevant for these operations.
Title: Re: IK tool
Post by: johnar on October 12, 2016, 01:59:00 am
That sounds excellent. (http://s6.postimg.org/p4cqdev8d/grysmile.gif)

 Found a possible bug. It may not, however, be an issue if you're planning on changing how we move between IK and FK. (both active with bone rotate tool. (?))
 Anyway, what i've noticed is, in sequence mode, changing from IK to FK turns off the animation key.
 Probably shouldn't. ?

 Keep up the great work steve Many thanks. (http://s6.postimg.org/p4cqdev8d/grysmile.gif)

Title: Re: IK tool
Post by: johnar on October 15, 2016, 01:21:34 am
Hi steve.
I've noticed with shortcut key 'k', for key selected bones and morph targets', that bones need to be selected for a morph target to be keyed at the same time.
 It would be good if you could select just a morph target, or targets' and key those with 'k' as well. ie: key selected morph targets with no bones selected.
 Position and Orientation keys could possibly be an option as well?
 What say you. (http://s6.postimg.org/p4cqdev8d/grysmile.gif)

Edit: Point in case: I've got a bouncy ball with a face. It has 13 morph targets, and no rig.
 With Orientation and position keys added, thats 15 'double click -> ok's to set the first keys for that. A Left click to select 1, then right clicks to select the rest, then press 'k', is sooo much quicker.
 And, further along, same deal. Single or multiple morph targets can be selected and 'k'd in no time at all.
Title: Re: IK tool
Post by: daniel99 on October 15, 2016, 05:38:48 pm
Steve, just a quick remark: When I lock the position and save and close the project. When I reopen the project, the locked effectors are not locked anymore. Can that be fixed?
And also, would be a good idea to also have locked position and rotation for the end effectors ? 
Thanks.
Title: Re: IK tool
Post by: Steve on October 15, 2016, 06:02:17 pm
johnar: the k hot-key was supposed to work for selected morphs regardless on any selected bones. I was just searching figures and not plane objects so those were missed. I'll fix it.
Quote
changing from IK to FK turns off the animation key
Anim8or enables animation automatically when you enter the IK tool and reverts to the user's setting when you leave. It's a good idea to do that for the FK tool, too. Thanks for the suggestion.

daniel99: yes, locked positions and the locked flag will be saved, animated, etc. It's a lot of code to get this working but I'm almost there.  As for rotation, I plan to add locks for that too, after all the basic implementation detains are worked out for position.
Title: Re: IK tool
Post by: nemyax on October 15, 2016, 06:07:47 pm
yes, locked positions and the locked flag will be saved, animated, etc.
But why animate the locked/unlocked state of an effector if you can simply animate its position? It's "locked" at a spot as long as the corresponding position key holds.
Title: Re: IK tool
Post by: daniel99 on October 15, 2016, 06:34:58 pm
nemyax Because, for example, I lock my character's feet, and just animate the walk. When I move the feet, I keep them locked, and only rotate them if I need to. That's one of the IK tool purposes.
Title: Re: IK tool
Post by: nemyax on October 15, 2016, 07:10:00 pm
I lock my character's feet, and just animate the walk.
What happens when they are unlocked? Do you mean you switch to FK whenever a foot isn't planted on the ground?
Animating locks sounds like a convoluted way to animate the path of the IK chain end effector. Instead of, you know, animating the path of the IK chain end effector.
Title: Re: IK tool
Post by: daniel99 on October 15, 2016, 10:05:06 pm
nemyax Well, for me works just fine, and when Steve is gonna fix the "wiggle" for the end-effectors lock, everything will be perfect.
Usually, as I said, I lock the feet of a character, then moving the body. The feet are kept in place. When I make a step, I move the locked foot using its controller.
Without the IK, animating a walk is a bit annoying, because the feet will always kinda slip.
Title: Re: IK tool
Post by: johnar on October 16, 2016, 01:28:52 am
Thanks steve
 By the way. Good job on the trackball visibility thing. Tidies things up immensely,
All thumbs up. (http://s6.postimg.org/p4cqdev8d/grysmile.gif)
Title: Re: IK tool
Post by: nemyax on October 16, 2016, 03:20:02 am
I lock the feet of a character, then moving the body. The feet are kept in place. When I make a step, I move the locked foot using its controller.
Without the IK, animating a walk is a bit annoying, because the feet will always kinda slip.
Consider these animation keys from a different animation program that doesn't have the concept of "locks" and doesn't need it. They are position keys for the IK target of the right foot in a walk cycle (left/right, backward/forward and up/down).
(http://pix.academ.info/images/img/2016/10/16/0d1b6f30316a225e41d6eaaecaad3360.png)
There's no micromanagement to it, it's pure holds and slopes, which an animator understands immediately. All you need to do to animate a "lock" is go to the frame directly before the "unlock" should happen and set a position key, creating a hold.
You don't have to keep track of something called a "lock", and you animate the motion of the end effector like you would animate anything: hold, jump forward in an arc, hold, jump forward. As for the foot staying planted, it should do that anyway as long as IK is enabled.
I believe that if the IK end effector has animatable transforms (position, rotation and scale) and an animatable IK on/off switch, it has  everything. (Well, almost everything; some kind of IK chain twist control would also help so you can swing the IK chain left and right.)
Title: Re: IK tool
Post by: johnar on October 16, 2016, 12:50:02 pm
If i could just chime in, i think what nemyax is saying is absolutely correct, and i'm thinking this is perhaps just a bit of a misunderstanding between 'lock' and 'hold', which are essentially the same, but just under a different name.
Traditionally, the correct word is 'hold'
 Anim8or has keys, just as any other animation program, and a 'lock' key is really just a 'hold' key anyway, which will 'lock, or hold' that position until a different key is set, in which case it has become 'unheld, or unlocked'.
 Same with rotation/(orientation) keys.
 This is how anim8or already works, so i'm pretty sure the usual key method would be no different for 'holding/(locking)' an end effector into place.  8)
Title: Re: IK tool
Post by: nemyax on October 16, 2016, 01:46:27 pm
Anim8or has keys, just as any other animation program, and a 'lock' key is really just a 'hold' key anyway, which will 'lock, or hold' that position until a different key is set, in which case it has become 'unheld, or unlocked'.
Not quite. A position hold is only a special case of animated position. That's why I'm emphasising that the generic ability to animate the effector position is needed.
Title: Re: IK tool
Post by: Steve on October 16, 2016, 02:32:58 pm
I think the term "locked" is a bit misleading; I should pick a better one. What "locking" an end effector does is actually enable IK. When the "locked" effectors are animated (I'm working on this now :) ) they will move in a manner similar to any other key-animated point, along with the position of the figure. After these values have been set, the IK system will position the joints in the IK chains for all "locked" effectors.

If an effector isn't moved between two keys, it is locked in place, hence the term locked. The spline interpolation needs to be slightly different for effectors or the won't be held exactly in the same place between two keys with the same value. Instead there is a bit of overshoot caused by the so called "lowest energy" shape that they normally assume.

A better term might be "active" or "enabled" or "???". Any ideas?
Title: Re: IK tool
Post by: nemyax on October 16, 2016, 03:23:06 pm
When the "locked" effectors are animated (I'm working on this now :) ) they will move in a manner similar to any other key-animated point, along with the position of the figure.
This is excellent news. Thanks for clearing it up.

A better term might be "active" or "enabled" or "???". Any ideas?
"Enabled" sounds fine.

Steve
If I may be so bold as to request something big =) You're now working on animated transforms for effectors, so they are going to have the power to float about. Chained bones don't have this power in Anim8or. So how about making it possible to start bone chains from effectors, like you can do now from the root bone? This would enable the user to move skeleton parts about freely (not as far as IK lets them, but anywhere at all), while retaining the chained nature of bones.
Title: Re: IK tool
Post by: daniel99 on October 16, 2016, 03:43:53 pm
johnar Steve To be honest, I have no problem naming it lock, or hold, or keep, or block, or stop, or anything else, as long as it eases the animation process and works correctly. I dunno how it's called in other programs because I do not use other programs. :D
Title: Re: IK tool
Post by: Steve on October 16, 2016, 05:02:57 pm
nemyax: Currently effector are implemented as goals for where the end of a bone should be. But the bone structure is still just a single tree starting at the root. Adding the ability to start a bone hierarchy at the goal position would probably be as much work as supporting arbitrary bone hierarchies - something that I certainly see the value in but I want to hold off on adding until I get all the things I'm working on now more or less finished.

I'd like to start concentrating on getting another "official" release out, with updated documentation and web site - then on to better bone structures, etc.:)
Title: Re: IK tool
Post by: nemyax on October 16, 2016, 05:10:27 pm
arbitrary bone hierarchies - something that I certainly see the value in but I want to hold off on adding until I get all the things I'm working on now more or less finished.

I'd like to start concentrating on getting another "official" release out, with updated documentation and web site - then on to better bone structures, etc.:)
Fair enough! It's good to know you've got arbitrary hierarchies in the back of your mind.
Title: Re: IK tool
Post by: daniel99 on October 16, 2016, 05:16:08 pm
Steve A new official release would be nice. I've seen there are people who do not know there are many new builds for anim8or, because they don't check the forum :(
Anyhow, me personally, I would have the end-effectors lock position/rotation for the latest bone in the chains added, and fix for the "wiggle" before a new official release...but that's just me.
Title: Re: IK tool
Post by: justiceiro on October 17, 2016, 11:37:56 am
wow, the development of this program has come a far way, hmm. Congrats steve!
Title: Re: IK tool
Post by: neirao on October 17, 2016, 12:20:14 pm
yes Steve,
i gree with daniel99,
in last week im in facebook 3D group, and talk about Anim8or, some users tellme about think  that Anim8or no have news versions... so i tell hers about the  new versions only in the forum!!
Title: Re: IK tool
Post by: johnar on October 29, 2016, 12:54:03 am
Firstly, i'd like to agree that these updates are amazing. Excellent stuff steve.
 The IK is behaving a lot better, but still some  problems.
 Have been trying first to understand the best way to use it, or, how it works best.
 Below is a clip  showing feet locked in place using the IK system in 'poser', and dragging the robot around by the hip. His feet will actually leave the ground, but will return to the initial 'locked position' once the legs can again reach the ground.
 (please try ignore the 2nd 'still' robot. Just a setting i couldn't find)
(https://s18.postimg.org/4g5kilsd5/poserik.gif)
 This next 1 is Froyd, in anim8or, with both feet locked to the ground, and moving the root bone to move him around.
 Please ignore the 'toes'. He's locked at the heal, so the toes are fixable, and no real concern.
 Froyd, (anim8or) is acting very similar to robot. (poser)
(https://s9.postimg.org/v70xtmo27/an8ikk.gif)
 Well done steve. That's absolutely awesome.
 Please note tho, 1 problem i'm seeing.
 You'll see with the poser example, the feet are clearly locked to their positions, even when dragged away from the ground, they nearly 'snap' back to where they should be, just as soon as they are capable of reaching those positions again.
 But if you have a look at froyd, his right foot starts at the locked position, is dragged off the ground, and returns to a higher position when it should really return back to the original 'locked position'.
 This is a fairly mild example.
 I guess what i'm saying is, it's really, really close to behaving as it should, but still showing some oddities, as above.
 So, all in all, coming along really well, but maybe  still some work needed on 'solidly' locking those end effectors into place?
(http://s6.postimg.org/4y98eizkt/grywink.gif)(http://s6.postimg.org/p4cqdev8d/grysmile.gif)

 EDIT: steve.  I'll keep playing with it, maybe i'm missing something, or just doing something wrong here.  Does take a bit of learning. Thanks heaps.
Would be good to hear if anyone else is getting any strange behaviour....(http://s24.postimg.org/cn9xhqr5t/SSG03_G.gif)
Title: Re: IK tool
Post by: nemyax on October 29, 2016, 01:38:16 am
Yes, animated end effectors shouldn't snap to bone ends automatically. A manual snap command would be good enough for when you really need this.
Title: Re: IK tool
Post by: johnar on October 29, 2016, 02:37:13 am
yes. (maybe a good idea)
 Tho i was really only meaning "nearly snaps", as in 'it goes straight back to the exact same spot it was locked too, and then just doesn't budge from there'.
 What i'm really noticing is 'drift'.
 I've seen you and steve discussing the idea of less keys. (?)
 I'm seeing now that using IK is creating a lot of keys, and wondering if maybe, perhaps, the drifting is happening from influence from a key further along the chain. ?.
Could be completely wrong, of course,.....(http://s6.postimg.org/4y98eizkt/grywink.gif)
Title: Re: IK tool
Post by: daniel99 on October 29, 2016, 07:25:25 am
Yes, johnar. Good example.
But my concern is the orientation of the feet. Like Steve said, he's gonna try and fix this too.
In some cases, only one bone will be used for the foot (take for example an elephant). That bone being the end-effector keeps it's position when it's locked...but it also should keep it's orientation locked.
In the poser example you provided, the robot's feet remain fixed on the ground, and the toes do not get 'into' the ground. Froyd's toes do.
But I have enough confidence in Steve. I'm sure the next release will have this fixed. Ani8or Rocks :D
Title: Re: IK tool
Post by: Steve on October 29, 2016, 05:07:36 pm
johnar: "and returns to a higher position", i.e. the "drift". Yes, this certainly is a bug. The locked position shouldn't move unless you specifically move it, so once the figure returns to within range the effector should lock-in exactly where it started.

I working on additional constraints like keeping the orientation of the foot flat (so the toe doesn't go into the ground), and a true "locked" effector. I plan to keep the current "goal" effector as well since both can be useful.

I thought the second robot was intentional - it's a good reference for the motion.
Title: Re: IK tool
Post by: daniel99 on October 29, 2016, 06:14:54 pm
Steve: I was thinking ... an easy way would be to have something similar to the Lock Position checkbox....Lock Orientation Checkbox :D
Title: Re: IK tool
Post by: Steve on October 29, 2016, 06:39:19 pm
daniel9: Thanks! But the dialog isn't the difficult part (http://s6.postimg.org/4y98eizkt/grywink.gif)
Title: Re: IK tool
Post by: daniel99 on October 29, 2016, 06:55:34 pm
Yes, I know! :D
Title: Re: IK tool
Post by: johnar on October 30, 2016, 09:41:37 am
steve.
Quote
...and a true "locked" effector. I plan to keep the current "goal" effector as well since both can be useful.
Thats great to hear. Appreciate your response.
 It's really a blessing that you now have the time to breath new life into anim8or. She's
becoming a thing of real beauty.
 I could go on and on......Exceptionally well done. Way to go steve. (http://s24.postimg.org/o4uvmxwjl/Thumbs_Up_G1.gif)
Quote
I thought the second robot was intentional - it's a good reference for the motion.
true. Was thinking the same thing, but no, not intentional, just couldn't find how to turn it off. (http://s6.postimg.org/zd57j8ja5/gryrolleyes.gif)

daniel99. Love your enthusiasm. I'm with you .... ANIM8OR ROCKS  (http://s6.postimg.org/p4cqdev8d/grysmile.gif)
Title: Re: IK tool
Post by: daniel99 on November 18, 2016, 02:56:14 pm
Hey, Steve! Any new release soon? :D
Title: Re: IK tool
Post by: Steve on November 18, 2016, 05:05:38 pm
Yes, I've been working on several things, the biggest part is being able to lock orientation. I haven't been able to get it to work properly however. I'm thinking about making a release with that part disabled.
Title: Re: IK tool
Post by: daniel99 on November 20, 2016, 04:15:55 am
I rather wait for a bit longer for the orientation lock. I'm so curious how will that work :D
Keep up the good job, man!
Title: Re: IK tool
Post by: johnar on November 22, 2016, 04:13:07 am
Quote
"I'm thinking about making a release with that part disabled"
Oh well, that's cool steve. (http://s6.postimg.org/p4cqdev8d/grysmile.gif)
 
 Can fully understand that anim8or is coming due for a new release, it's unfortunate that IK isn't quite there yet, but the IK work you've done so far has been a real blast.
 All the other updates you've been sharing, since the last official release, have already made Anim8or a new bird, worthy of a new official release anyway.

IK can wait, and besides, we can always open up one of the last 'pre-release builds' if we ever have an inkling to use the existing 'unfinished' IK. (http://s6.postimg.org/4y98eizkt/grywink.gif)

 
Title: Re: IK tool
Post by: daniel99 on November 22, 2016, 06:41:02 am
Agree with Johnar :D Anim8or Rock \m/\m/\m/
Title: Re: IK tool
Post by: Steve on November 23, 2016, 08:27:52 pm
I went ahead and posted build 1261 (http://www.anim8or.com/download/preview/files/animcl1261.zip) without supporting lock orientations in IK chain's. It's still not working well enough :( so I'm going to try another approach.
Title: Re: IK tool
Post by: daniel99 on November 23, 2016, 09:22:31 pm
It crashed just when trying to make a walk...Had IK and Bones active.
Title: Re: IK tool
Post by: daniel99 on November 23, 2016, 09:42:32 pm
Then I tried to open your IKtext.an8 and gave me those controller errors :(
...and also to my other projects...

The l initial crashes happened when I try to move the body by bones, the feet being locked...
I don't have this problem with the previous versions...
Title: Re: IK tool
Post by: Steve on November 24, 2016, 01:27:31 am
Rats!  I'll look into it. Must have posted it too soon.  Sorry!!!
Title: Re: IK tool
Post by: daniel99 on November 24, 2016, 02:27:04 am
No problem, bro! We all appreciate everything you do with anim8or.
So far, the best version for me was 1258. No problem there whatsoever. If only it had orientation lock :D :D :D
Title: Re: IK tool
Post by: Steve on November 24, 2016, 01:18:01 pm
daniel99 It looks like you're using build 1250 when you get the "Can't find controller" error. The IK controllers hadn't been added to that build so the error is expected. Does your file load OK in build 1261? If not, can you post it so I  can chase down the problem?
Title: Re: IK tool
Post by: daniel99 on November 24, 2016, 02:50:06 pm
Oh yea, in that screen shot it seems I must have clicked on 1250. I have all versions in the same folder. Didn't noticed. My bad!

But the consistent initial problem with the 1261 is the crashing when try to move the torso of my character, while the feet are locked.
I dunno why this happens, and never happened in the previous releases. I believe I will still use the 1258 untill the next reliease :(
Title: Re: IK tool
Post by: johnar on November 27, 2016, 12:35:41 am
Quote
It's still not working well enough :( so I'm going to try another approach.

 Groovy.  Good luck with that steve, here's hoping the new approach may solve it.

 Speaking of new approaches, i've had an idea in my head for some time, concerning locking effectors in place.
 Remember i know nothing about programming, so it could be a rather non-practical, non-related, non-workable nonsense, but i've always thought it probably works with a similar-(ish) coding method/formula as is used for 'snap to grid'
 But then again, obviously, i have no idea.


P.S. also hav problems with 1261.
 Imported froyd to empty scene and enabled IK, with green key on.
When i click on the IK controller on his toe, it shows locked, (red), and anim8or stops working.
 I can do exactly the same thing in 1258, but when i click on his toe, it shows normally, unlocked, and anim8or is fine.
 Cheers steve (http://s6.postimg.org/p4cqdev8d/grysmile.gif)

Title: Re: IK tool
Post by: daniel99 on November 27, 2016, 01:41:12 am
johnar Yeah, sound like what happened to my character. Anim8or just crashes when I try to move let's say the character's pelvis, with the feet locked.
But I'm 1000000000000000% sure Steve will fix that. He's a genius :D :D :D
Title: Re: IK tool
Post by: Steve on November 27, 2016, 11:35:53 am
Yes, there is s problem with 1261. Probably best to use 1258 until I can fix it. Sorry!
Title: Re: IK tool
Post by: daniel99 on November 27, 2016, 07:49:19 pm
Cool, Steve.
I'm sure you're gonna do an amazing job again. 1258 is the best so far. Had no problems with it.

Btw, just a quick question. This is not a problem, more like a ... I dunno.
So, I've got 2 machines: my laptop and my desktop. In the last year, I barely turned on my desktop. I usually work on my laptop. But there's a big difference I noticed today in the way anim8or is shown.
On my laptop, it has the gray background but on my desktop it's purple. Since in the last year I only used anim8or on my laptop (which it shows gray), I could have sworn the gray BG was a change you made.
My question is: Do you know what influence this? Me personally, I just love the gray BG. How can I change it so my desktop will show the same gray bg? Thanks.
Title: Re: IK tool
Post by: johnar on November 27, 2016, 11:28:36 pm
daniel99
 Under: File -> Configure UI, you'll see an option for 'New Color Scheme'. Theres a box there needs ticking. (http://s6.postimg.org/4y98eizkt/grywink.gif)
Title: Re: IK tool
Post by: daniel99 on November 27, 2016, 11:34:34 pm
Wow, Thanks, Johnar. Ur da man! I didn't knew this! It seems it was automatically checked on my laptop 'cause I don't remember checking the box! :D Thanks man!
Title: Re: IK tool
Post by: Steve on December 02, 2016, 01:16:53 pm
Hi, everyone. I need some more IK examples that crash. If you could post them with directions on how to reproduce the problem it would really help. I don't need any textures, etc. and if you don't want to make your model public you can always e-mail it to me instead.

Thanks!
Title: Re: IK tool
Post by: johnar on December 11, 2016, 02:36:30 am
 Hi steve.
 Don't know how i missed your last post here, have just seen it, (http://s6.postimg.org/zd57j8ja5/gryrolleyes.gif) .....   will try to get a few examples together and get them to u.......

 Edit: Are you wanting more crash examples in 1261?,
.. in the last hour i haven't been able to duplicate a crash in 1258,.............. but will keep trying nxt time..........
Title: Re: IK tool
Post by: Steve on December 14, 2016, 06:31:54 pm
OK I've fixed a couple of IK related bugs that could crash with build 1263 (http://www.anim8or.com/download/preview/files/animcl1263.zip). Hopefully it fixes the problems that you've been encountering. It also eliminates several causes of the end effector drift between keys that are at the same location.

The Rotate Bone tool now moves the location of  affectedend effectors. I think this makes it a lot easier to use both IK and FW together.

I also changed the Move tool to move the locations of locked end-effectors when the animation key is off. This allows you to globally change the location of a character without affecting the animation. When the animate key is on the Move tool acts like moving the root bone under that IK tool except that no new keys are set for the IK effector joints. Let me know what you think.

There is one missing capability that I'm thinking about adding. If you have a completed animation, such as a character walking across a scene, it is very difficult to adjust the path without having to tediously reposition all the end-effectors' keys one-by-one. I think it would be very useful to be able to edit the path and then would change accordingly.  This is a lot of work so I'd like your opinion as to it's usefulness before I start. What do you think?
Title: Re: IK tool
Post by: daniel99 on December 15, 2016, 04:27:36 am
Hey Steve. Build 1263 it won't run. I double click it, triple click it, quadruple-click it and nothing...When I go to Windows Task Manager I can see all the an8 1263 instances opened, but they won't run.
Any an8 build it opens in 2-3 seconds, this new one, it doesn't. And it also shows 108K for memory...
Title: Re: IK tool
Post by: daniel99 on December 15, 2016, 04:32:58 am
Forgot to mention, when right click and End Process on those an8 copies in the Task Manager, they won't close. I need to restart every time to get rid of them.
An8 it shows about 30,000K for memory when it works, but it only show 108K for 1263, and it won't run :( :( :(
Title: Re: IK tool
Post by: nemyax on December 15, 2016, 07:24:51 am
Steve
Why do you hide the axis gizmo when the Lock Position option is on? It should remain available for precise positioning of the end effector.
Title: Re: IK tool
Post by: Steve on December 15, 2016, 01:37:35 pm
daniel99: I have a few questions that might help me find the problem.

1. Have you tried running it with the -traceinit command line option?
2. Do you have "Start in Previous" checked in the File->Configuration dialog, or "Autosave"?
3. What OS and what graphics do you have? [See the About->SystemInfo dialog.]
Title: Re: IK tool
Post by: johnar on December 16, 2016, 03:24:49 am
Steve. MENU FOLDERS FOR BONES!!! (http://s8.postimg.org/j64xwcx9d/Big_Grin_Gry.gif)(http://s8.postimg.org/j64xwcx9d/Big_Grin_Gry.gif)(http://s8.postimg.org/j64xwcx9d/Big_Grin_Gry.gif)
 Showing in Scene mode and working exactly as expected. The days of lengthy scrolling up and down in the timetrack are over. (http://s8.postimg.org/j64xwcx9d/Big_Grin_Gry.gif)
 Thank you so, so much. That's just absolutely friggin awesome.
 (Plans for same in Sequence mode?)
 Haven't had a lot of time with anim8or recently, but that'll be changing very soon, and i'll definately make time this weekend to take 1263 for a decent spin.
 No problems here as described by daniel99. (In fact,have been using it for the last hour with no problems at all so far).
 OpenGL Vendor: NVIDIA Corporation
 OpenGL Renderer: GeForce 8600 GT/PCIe/SSE2
 OpenGL Version: 3.3.0
 OS Version: Windows 7 (6.1) build 7600

 'start in previous' is not selected.
 'Autosave' is selected 
 
 This is so cool. I'll be doing a lot of 'rig organising' with menu folders this weekend. Thats so good to see that in the timetrack.
 Will give the IK a decent go as well, and get back to you with updates on how its all working here.
 (edit: And will comment on latest tweaks and fixes etc, which you have described in your post)
 This is just blinkin awesome. Cheers steve, Well done.........(http://s6.postimg.org/4y98eizkt/grywink.gif)

 Edit2. Task Manager shows anim8or using 46,520 K, at idle.. with 1 figure. File size is 3,646 KB, .....if that's any help there....
Title: Re: IK tool
Post by: johnar on December 16, 2016, 04:47:05 am
 OK.  Am now beginning to see some issues in Scene mode... 1263
 'Anim8or stops working'... when scaling a figure in scene mode.
 easily reproduceable...
  Edit: Scaling object in scene mode has same result...

 (Will send you those files you were asking for, after i get a chance to test some more and 'document' etc.....)
 
Title: Re: IK tool
Post by: daniel99 on December 16, 2016, 06:07:42 pm
Hey Steve.
I've managed to make 1263 work. I believe it was a local problem on my laptop. But I still don't know what was the cause.
Before that, (see the vid) I created a new folder and copied all the builds in there. Only a couple of them run. You can see in the Task Manager the ones that didn't run and the one that did run.
Also, I show in the vid the problems with those Spider/Werewolf legs, and the weird wiggle it happens.

System info (for the laptop, where this problem happened):
OpenGL Vendor: Intel
OpenGL Renderer: Intel(R) HD Graphics 5500
OpenGL Version: 4.4.0 - Build 20.19.15.4463
OS Version: Windows 7 (6.1) build 7600


  [/youtube]



Title: Re: IK tool
Post by: Steve on December 16, 2016, 08:19:27 pm
daniel99: I suspect that it's the graphics driver for the Intel chip. Try using the original OpenGL path in Anim8or but un-checking the "Options->Debug->NewOGLRenderer" option. Also try turning shaders off in the View->Preferences dialog.

As I've said before, I'm working on locking the orientation. It's not ready yet.

As for the legs wiggling, does that happen when you play the animation? It should be a bit more stable there.  The issue is that there are an infinite number of solutions with that chain of 3 bones. The angle between the shin-bones and feet isn't changing. The foot wiggle is simple a result of the shin-bone changing orientation.
Title: Re: IK tool
Post by: daniel99 on December 17, 2016, 12:30:41 am
Steve: I was trying to figure out what was the problem. What would delay or stop an exe file?
For example, on my old hard drive, my antivirus used to scan any new exe file when double-clicked it.
     It showed a message "Scanning" and had a menu where I could check "Always trust this file" After that, everything was fine.
But now it doesn't. And this couldn't explain why files I already have on the hard drive are stopped/delayed. Maybe it didn't have anything to do with the antivirus. Who knows?  This time, I couldn't even "End process" in the task manager for all the copies that didn't run. Had to restart the comp.
   I usually don't touch the setting. Any new build works and should work just time every time.
The wiggle happens when playing the animation, and also in the render. Usually, I solve it by modifying the animation a bit. Yes, I was thinking one of the reasons could be I have more bones, but I believe this problem will stop when the end-effector bone will have the orientation locked. Can't wait  for this! :D Thank you, man!
Title: Re: IK tool
Post by: johnar on December 19, 2016, 06:01:27 am
Quote
steve
Quote
There is one missing capability that I'm thinking about adding. If you have a completed animation, such as a character walking across a scene, it is very difficult to adjust the path without having to tediously reposition all the end-effectors' keys one-by-one. I think it would be very useful to be able to edit the path and then would change accordingly.  This is a lot of work so I'd like your opinion as to it's usefulness before I start. What do you think?

 I've been trying to think of instances where this could be usefull.
 The only thing i can come up with at the moment is that it would indeed be a luxury to be able to move a walking characters path, and have the end effectors remain (eg: feet) 'grounded', even though the path has been changed...
 But i'm still yet unable to think of any instances where i, personally, would find a need to dramatically change a characters 'path', once i've already spent time creating that particular scene and movement.
 You've said it would be a lot of work implementing this and, unless someone else can give example of situation where this capability would be very usefull, i would probably suggest that it perhaps go on the backburner for now, until a time where it's usefullness could be deemed worthwhile of the effort.(http://s24.postimg.org/cn9xhqr5t/SSG03_G.gif)
Title: Re: IK tool
Post by: thecolclough on December 19, 2016, 12:48:12 pm
Quote
There is one missing capability that I'm thinking about adding. If you have a completed animation, such as a character walking across a scene, it is very difficult to adjust the path without having to tediously reposition all the end-effectors' keys one-by-one. I think it would be very useful to be able to edit the path and then would change accordingly.  This is a lot of work so I'd like your opinion as to it's usefulness before I start. What do you think?

...But i'm still yet unable to think of any instances where i, personally, would find a need to dramatically change a characters 'path', once i've already spent time creating that particular scene and movement.
 You've said it would be a lot of work implementing this and, unless someone else can give example of situation where this capability would be very usefull, i would probably suggest that it perhaps go on the backburner for now, until a time where it's usefullness could be deemed worthwhile of the effort.
same here, i think - it'd be a nice feature to have, but i wouldn't say it's a priority, on the basis that any animator worth their salt would probably know to figure out the blocking properly before investing much time in fine-tuning any details.

if we're debating priorities, though... *cough* multi-core rendering *cough*  ;)
Title: Re: IK tool
Post by: Steve on December 19, 2016, 04:23:45 pm
daniel99: I'm not sure what is causing Anim8or to hang. I haven't changed the build process in any way or added any new libraries, etc. It could be virus protection code, windows, etc. Have you tried right clicking on the file in the file explorer and selecting the "Trouble Shoot" option. After it "searches for an answer" to the problem, there are several options that you might try. I don't know if this will work thought or much about the different options.

You can also right click and run as administrator, depending on the security settings on your computer.

As to why you can't kill the process in the task manager, this also may have something to do with your virus scanner.
Title: Re: IK tool
Post by: daniel99 on December 19, 2016, 04:38:23 pm
Steve: Yes, I usually run it as admin. It is most probably the antivirus fault. I've added an8 to the "Do not scan" list. Now it seems to work like every time.
The weird part, as I said, was that I didn't get any message like I did before "Please wait, we are scanning this program", so it was impossible to tell if the antivirus was holding an8. The fact that I couldn't end processes in task message had to do with the antivirus also... I believe.
Title: Re: IK tool
Post by: Steve on December 19, 2016, 08:13:07 pm
An update on the jitter: I've created some examples that are extremely sensitive to jitter. I'm now experimenting with various damping schemes and alternate IK algorithms. I'll keep everyone posted.
 
Title: Re: IK tool
Post by: daniel99 on December 19, 2016, 08:32:18 pm
Steve: Thanks man. You're awesome.
Title: Re: IK tool
Post by: daniel99 on December 26, 2016, 03:18:35 am
Steve: A bit late, but I still wanna wish you Merry Christmas. And of course Happy Holidays, man. :D :D :D
Title: Re: IK tool
Post by: Steve on December 28, 2016, 05:39:42 pm
Check out build 1264 (http://www.anim8or.com/download/preview/files/animcl1264.zip) for a new IK solver! I implemented several different solvers. To see how they behave, try the different scenes with the attached project. The three solvers used are:

1. Jacobian Inverse. Supposedly the best. Very fast solver but becomes quite unstable when a target is unreachable.  Two jointed chains do well but 3 joints shows problems. See scene "Tripple Chains" (yes, it should be "Triple" but I don't want to rename everything just to fix my bad spelling :( ). The first 15 frames are stable but after that the effector moves to the side which the figure can't do. This causes jitter.

2. Jacobian Transpose. This is the best. It's can be slow to solve, especially when the effector is out of reach. Anim8or uses it now.

3. Monte Carlo. An alternate solver works OK with 2-bone chains with limited joints. Also work when the target is out of reach. Otherwise it's very jumpy. Left it in for this build just for fun.

Note: The only solver supported at the user level is Jacobian Transpose. You won't be able to use the others in normal use.

Have fun!
Title: Re: IK tool
Post by: neirao on December 28, 2016, 08:38:22 pm
Thanks Steve, Happy new year for everbody!!!
Title: Re: IK tool
Post by: daniel99 on December 29, 2016, 03:44:25 am
Just opened some of my projects with build 1264. The legs-wiggle is less or even completely gone. Great job, Steve.
I can't wait for the future builds.

One think I didn't quite get at first is how to try the different solvers. I thought I can select in between them. But the one used by an8 is great.

Thanks, Steve and have a great New Year, bro!
Title: Re: IK tool
Post by: Steve on December 29, 2016, 11:31:36 am
daniel99: I have the different solvers enabled in the project I attached to my previous post just to show some of the issues when run using build 1264. You need a special "Steve Only" build to see them in Anim8or (but if you're cleaver you can look at the .an8 source and figure out how to add it by editing the file :) ).

I don't think it makes sense to enable them in general. I'm still experimenting and hope to find a way to automatically use the Jacobian Inverse solver when possible because it's very fast, and use the Jacobian Transverse otherwise.
Title: Re: IK tool
Post by: daniel99 on December 30, 2016, 01:53:14 am
Yes, I don't think you should enable all 3 of them. Jacobian Transpose is the best one, as you said. :D