Anim8or Community

Please login or register.

Login with username, password and session length
Advanced search  

News:

An update to Anim8or, v1.00b, is available with a few bug fixes. Get your copy HERE. See the "ReadMe" file for details.

Author Topic: Playing with IK  (Read 1313 times)

ENSONIQ5

  • Sr. Member
  • ****
  • Posts: 928
    • View Profile
    • Mission Backup Earth
Playing with IK
« on: September 24, 2016, 12:49:34 am »

Not sure if this is the best location for this but I didn't want to hijack other threads.  With the development of IK in release 1247-1250 I couldn't resist giving it a go, since it's something I've been hankering for since 2007 or thereabouts!  I've used the T-Rex model I built for the skertches a while back since it was already boned and already had most rotation limits applied.

There are 22 separate IK chains in this beast:

  • Legs X 2
  • Toes X 6
  • Arms X 2
  • Fingers X 4
  • Neck
  • Spine from shoulders to pelvis
  • Tail X 6 (includes one from pelvis to halfway along the tail to overcome the max number of bones in a chain issue)

There's a bunch of faults in the motion and I have no idea how a T-Rex actually moved (does anybody?) but that's not what this was about; it was all about playing with the IK system.  The process of defining the chains, setting keys, tweaking positions etc. was absolutely seamless and from a workflow perspective it's hard to find anything to criticise.  I had so much fun with this and it's testament to the process that the walk cycle sequence (repeated twice in this video) was completed from start to finish in 3-4 hours.  There was no back-tracking, no unexpected functionality, no frustration... it all just worked!

The only thing I would like to see (and it may already be there, I could easily have missed it since I've been away from Anim8or for a while) would be the ability to lock the motion of an IK chain with elements rigged to rotate in multiple directions (eg. a spine) to a certain plane.  So, if I'm working in Front view, it would be handy to be able to move the effector knowing that the chained bones will only move in the X-Y direction and not in Z.  This would allow more precise positioning but should definitely be switchable somehow, as full motion in all 3 dimensions would also be required in many cases (in other words, 'IK chain locked to view plane' ON/OFF).

I haven't had so much fun on a project in ages as I did with this over the last couple of days.  Whenever I'm working with Anim8or I always have a big smile on my face, which somehow sums up Anim8or to me.

« Last Edit: September 24, 2016, 12:50:06 am by ENSONIQ5 »
Logged

johnar

  • Sr. Member
  • ****
  • Posts: 814
  • Make it, Move it--Give it Life
    • View Profile
    • youtube vids
Re: Playing with IK
« Reply #1 on: September 24, 2016, 01:41:07 am »

Quote
There's a bunch of faults in the motion...
Really?
To me that looks just like a trex would move.

Quote
working in Front view, it would be handy to be able to move the effector knowing that the chained bones will only move in the X-Y direction and not in Z.
  Maybe that could be controlled just as we always have done with the FK, by enabling/disabling the x, y, z buttons in the side toolbar? I have tried that with IK, as you probably did too, but no.
 Seems like the logical way to do it?.
 
 Totally agree how well it all works so far.
  The word 'magic', keeps coming to mind.
 
Quote
Not sure if this is the best location for this but I didn't want to hijack other threads
It would be good to have a common, shared thread where everyone could post their IK trials, thoughts, experiments, discoveries etc..., while the IK is still a work in progress. Would it be ok with you if we just invade this thread?... it has the right title. Maybe it could even be pinned at the top?.... if you're agreeable.
 (the IK thread in 'Anim8or Ongoing Developement' would still be the place for updates, questions, suggestions etc, but having a 'playing with IK' thread here, could be a good place for the things that perhaps don't really belong there. WIP's etc)

 Awesome Trex skeleton, by the way.
« Last Edit: September 24, 2016, 02:05:49 am by johnar »
Logged
%

ENSONIQ5

  • Sr. Member
  • ****
  • Posts: 928
    • View Profile
    • Mission Backup Earth
Re: Playing with IK
« Reply #2 on: September 24, 2016, 04:33:14 am »

Re the motion, there's a few places where objects intersect (leg bones into ribs, for example) which is probably due to the model being anatomically incorrect (it was based on a few photos of different T-Rex skeletons some of which were assembled a long time ago, and early paleontologists sometimes got things a bit wrong).  I moved the ribs a bit to accommodate the thighs but not enough, if this was about modelling correct motion (which it ain't) I'd fix this easily enough.

I agree with the idea of the XYZ buttons controlling the plane of motion/rotation of bones in a chain, seems like the reasonable solution if possible.

Happy for this thread to be used for posts related to IK, along the lines of experiences and successes as opposed to faults and operational questions which would be better placed on the development thread methinks.
Logged

Steve

  • Administrator
  • Hero Member
  • *****
  • Posts: 1532
    • View Profile
Re: Playing with IK
« Reply #3 on: September 24, 2016, 06:13:07 am »

ENSONIQ5: Wow! This is going to give me nightmares tonight :-\  Nice work! I agree with your suggestion about defining a plane of rotation for the IK animation.  I'm still thinking about how to address that.  The current solution tends to go a bit jittery. Stay tuned...
Logged

ENSONIQ5

  • Sr. Member
  • ****
  • Posts: 928
    • View Profile
    • Mission Backup Earth
Re: Playing with IK
« Reply #4 on: September 24, 2016, 06:42:18 am »

Steve:  Cool, thanks for considering it!

I may need to bring Eraser Man out of retirement to see what he can do with a bit of IK ;)
Logged

johnar

  • Sr. Member
  • ****
  • Posts: 814
  • Make it, Move it--Give it Life
    • View Profile
    • youtube vids
Re: Playing with IK
« Reply #5 on: September 24, 2016, 07:50:11 am »

Cheers ENSONIQ5

Quote
there's a few places where objects intersect (leg bones into ribs, for example) which is probably due to the model being anatomically incorrect.

 I'm noticing something which became totally apparent to me when i was working out some joint limits for froyd.
 This is not directed at you, ENSONIQ5, you'll be aware of this anyway. It's just something i've noticed as a point of interest.
 An IK characters joint movements can do some 'unexpected things', even though each joints individual limits are set to a sensible, satisfactorily restrictive number. But so can ours. If i was a skeleton, i'd still be banging my bones into each other. Our joint restrictions don't stop us from passing our forearm through our body. Our body does that.
 And so, also, with computer generated characters, even when 'suitable' limits are set, arms, (etc), can still disappear into the body.
 I suppose thats where some type of 'collision detection' might be used in the likes of 'Maya'.?
 
 Meanwhile, i suppose the lesson here is, just because the characters rig has strict joint angle limits, once you're dealing with 2 or more bones, angles can still become unpredictable, and tweaking along the chain will always sometimes be necessary.

quote from ENSONIQ5
Quote
I may need to bring Eraser Man out of retirement
Nice one.
« Last Edit: September 24, 2016, 07:52:29 am by johnar »
Logged
%

ENSONIQ5

  • Sr. Member
  • ****
  • Posts: 928
    • View Profile
    • Mission Backup Earth
Re: Playing with IK
« Reply #6 on: September 24, 2016, 08:13:03 am »

Spot on johnar.  Bone rotation limits will not stop unwanted object intersections, collision detection would be required for that.  Obviously CD would be required as part of a physics engine but for IK I think it will always be necessary, at times, to tweak some of the joints as you say.  And that's cool, part of the learning curve is knowing when to use IK and when FK would be better.  For example, in another thread I mentioned that arms should be IK terminating at the wrist, and fingers should be FK but in rigging the T-Rex it became immediately apparent that an IK chain down the toes (effectively 'fingers' from a joints point of view) was a far better idea.  It made the process of ensuring the toes were in contact with the ground when they were supposed to be SO much easier!

I haven't yet played with effector locking which sounds amazing and is something lacking in Carrara.  The possibilities of this are astounding!
Logged