pjz99 opened this issue on Apr 04, 2009 · 9 posts
pjz99 posted Sat, 04 April 2009 at 3:18 AM
This had me frustrated for a little while - if you have a conforming figure that is rigged with IK (for example, a tail) and you find that the IK chain "goes nuts" when you enable it while the figure is conformed, check the goal actor (the end of the chain) and be sure that the "inkyParent" value is set to UNIVERSE, e.g.:
inkyParent UNIVERSE
Depending on how you added IK (in my case, via Dimension3D's Poser File Editor) it can happen that inkyParent is set to BODY - and when Poser conforms the figure to another, the conforming figure's origin is treated as the conform target's origin rather than the UNIVERSE's origin - which makes the IK goal behave in very unexpected and undesirable ways. Do not confuse this setting with nonInkyParent, which is the actor's parent when IK is turned off. Good luck, hope this helps :)
note: I posted this earlier and yanked it, because I got some unexpected behavior - that unexpectedly seems to have gone away again. Take this with a little grain of salt.
lesbentley posted Sat, 04 April 2009 at 7:26 AM
Thanks for the tip. I can't resist asking the question, why not just set the inkyParent to be the actual parent instead of UNIVERSE? Does that not work?
pjz99 posted Sat, 04 April 2009 at 7:32 AM
mylemonblue posted Sat, 04 April 2009 at 7:35 AM
Isn't that interesting. I've done some refits of clothes to my customised Vicky and had problems with IK in the conformer screwing up the works. Thing is I don't know CR2 editing worth cr*p. LOL. ^.^
My brain is just a toy box filled with weird things
pjz99 posted Sat, 04 April 2009 at 7:36 AM
Note this can still produce odd behavior - even with setting the goal actor's IK parent to UNIVERSE, simply enabling and disabling IK produces a lot of frustrating "twitching", but it seems to be the least maddening way to set it up. Leaving the goal set to BODY was having the goal actor jump 10 feet forward of the body or other inexplicable locations.
lesbentley posted Sat, 04 April 2009 at 1:10 PM
Quote - It didn't occur to me to try this, but I just tried it now and this produces VERY undesirable behaviour - the point of IK is translating the goal actor around, and when you translate the goal relative to the adjacent actor, you get this:
Ah, I see. I guess that sort of makes sense, now that I think about it.
kuroyume0161 posted Sat, 04 April 2009 at 8:24 PM
Setting the goal to the BODY is historically (and practically) done so that transformations on the main 'figure' (in any IK system, not just Poser) would properly affect the goals as well. Otherwise, when you translate the figure, the goal would stick where it is in world space. It may also be possible to parent the goal to the first bone above the IK chain (have not tried this). Having no parents (UNIVERSE) might be desireable at times, but not mostly. Does this happen with your conformed figure IK, pjz99?
Unfortunately, I can see why conforming and IK on the conformed figure could be problematic. During the conforming process, brutal and cruel things are done to the conformed figure's bones and transforms to conform initially. Then the main figure takes control of the conformed figure for the most part thereafter. Maybe you could set the InkyParent to the main figure's BODY (???).
C makes it easy to shoot yourself in the
foot. C++ makes it harder, but when you do, you blow your whole leg
off.
-- Bjarne
Stroustrup
Contact Me | Kuroyume's DevelopmentZone
pjz99 posted Sat, 04 April 2009 at 9:54 PM
I can see why Universe wouldn't be the best choice for IK Parent - okay for stills, not good for animation. I'll try making the root bone of the IK chain the parent and see how that works out, thanks. I don't see how I can reliably set the IK parent to be the conform target's BODY in this case, since this is a figure-agnostic conformer - I can have the user do that manually though.
pjz99 posted Sat, 04 April 2009 at 9:57 PM
That seems to work well (inkyParent set to the top bone of the IK chain), thanks Robert.