PDA

View Full Version : Dynamic Parenting and IK



Carm3D
09-07-2005, 03:44 PM
Hi

I have a hat I am trying to dynamically parent to a head bone; with unhappy results. The head bone of course is using IK (Match Goal Orientation).

I've tried Worley's Parent plugin.. No good.

I tried Parenter (Lightwave's dynamic parenting)... No good. I tried with After IK, I baked the head bone's keys.. It insists on moving the hat away from the head on the frame in question.

I can't use the object-swapping trick because the hat has clothFX on it and it wouldn't match. Any clues?

dablan
09-07-2005, 04:33 PM
What you trying to parent?
Remember that bones deform the object by moving points - so you'd need to parent to a bone. A good way to do this is to create a child bone, but make it inactive, and give it a really tiny rest length.

Carm3D
09-07-2005, 05:17 PM
yeah, that's what I said... trying to parent the hat to the character's head bone. Nothing to do with deformation. At one point, he removes the hat with his hand.

GraphXs
09-07-2005, 06:12 PM
This might be to old school, but what about having another hat (2hats 1 head, one hand) in the scene and using Object dissovle when he takes the hat off.

Carm3D
09-07-2005, 06:25 PM
Yeah as I said earlier.. the hats have ClothFX on them so that wouldn't be seamless.

voriax
09-07-2005, 07:24 PM
Mmm.. interesting..
I tried to setup a quick version of what you described, a small bone chain with the end bone using IK and matching goal orientation.. using parenter really screwed up initially.. I did try a couple of things;

regular parenting a null to the head bone, so that the hat would be parented to just a regular object, and then using lightwave's Parenter to attach the "hat" to the parented null; this went a bit crazy, the "hat" flew all over the screen. :/

then I tried replicating what you tried; baking the motion of the head bone, which worked (except screwed up the parent bone's IK moves), then after switching off the IK, used LW's parenter to parent the hat to the head bone and it seemed to work without problems.. I even had a "hand" come past, reparent it, and whisk it away..

I think Parenter isnt particularly reliable at times.. I tried to use it recently in an anim on two identical object setups.. the first one worked perfectly, then when it came to doing the second one, the object that was being parented just shifted totally out of position and I couldn't for the life of me figure out why.. ended up having to shift the pivot of the object so that it would sit in the right place (was in a rush).. so annoying.

It tends to screw up a lot when you've got existing keyframes, as well, so just check to make sure it's all clear before you try and use it..

Carm3D
09-07-2005, 07:54 PM
Someone from SpinQuad told me about a plug-in called Attractor (http://www.liquiddreamsolutions.com). It was only $15 so I bought it and am waiting for it to show up in EMail. Hopefully that will do the trick. IK is the Achilles' Heel of Lightwave. :lwicon:

meanlebh
09-08-2005, 08:32 AM
I can't say as I can help you, i have had very similar issues with parenter iin the past....anyways, i would be interested to hear how it works out with that new plugin....good luck.

-Brian

Axis3d
09-08-2005, 01:29 PM
Here's the old school procedure that I would use:

1. Parent the hat to a hand bone in the object.
2. Animate the arm placing the hat on the head.
3. At the frame where the hand lets go of the hat, clone the hat.
4. Parent the clone to the head bone (make sure Parent in Place is on or this will not work.
5. Set up an object dissolve envelope for each hat object. The first hat disappears on the frame where the second hat appears.

Lightwave's Parenter plugin really needs some help and I hope there are plans to update it. This has been my workaround.

Carm3D
09-08-2005, 03:46 PM
Here's the old school procedure that I would use:

Yes as I mentioned before, I can't use the object swapping trick because the had has clothFX on it. It wouldn't be seamless.


i would be interested to hear how it works out with that new plugin....good luck.

The attRactor plugin didn't fit the bill. There was a time lag. And the rotation didn't work very well at all. What a waste of time and money.

andypete
09-08-2005, 05:19 PM
RB_DynamicParenting (http://www.richardbrak.net/) eliminated my frustrations with dynamic parenting. Check it out. I don't do IK so I'm not sure if it'll solve your specific problem. But it worked great for me, and it's free. So I thought I'd share. Thank goodness for 3rd party developers.

FONGOOL
09-14-2005, 03:14 PM
Actually, I think Axis3d's suggestion could work! Okay, I'm talking out of my *** here, but what if you just saved out a copy of the hat as it looks, deformed by cloth FX, at the frame you want to switch from the head hat to the hand hat. Then use that copy as a morph target to apply to the second hat when it dissolves in. That way you can match it for one frame before clothFX kicks in and starts changing it...

The obvious obnoxiousness of this idea is that you'd have to re-create the morph every time you recalculated the cloth FX so even assuming my silly idea would work at all, it'll be a major PITA.

Like I say, I have no idea at all what I'm talking about, but it sounded good to me... :D

toonafish
09-15-2005, 11:00 AM
You might wanna try this one instead of Lightwave's native Match Goal Orientation:

http://www.animationsnippets.com/downloads/matchgoalorientation.zip

jds580s
09-15-2005, 11:45 AM
I think I have a free LW only solution for you. I tested this by making a simple 4 bone IK chain with Match Goal Orientation and Parenter and it worked for me.


Create a new Null called PlaceHolder (not parented to anything)
give it a motion modifer Expression

for PositionX PositionY and PositionZ use
End.wpos(Time).x
End.wpos(Time).y
End.wpos(Time).z
in this example "End" is the name of the head bone in my IK chain

then for rotation use
Goal.wrot(Time).h
Goal.wrot(Time).p
End.wrot(Time).b
"Goal' is the goal null object of my IK chain

This way the position comes from the Bone, the Heading and Pitch come from the match orientation null and the bank can come from the Bone (if it is keyframed) or Goal (if it is IK)

Now apply parenter to your hat and use the PlaceHolder null as the parent object.

worked for me.

Justin

Carm3D
09-21-2005, 11:58 AM
Hey,

I ended up using the FX MakePath to get a null to follow the head. I was amazed how well that worked!

Here's what I got so far: Link (http://www.carm3d.net/Media/DawgFud/Preview.MP4).

Once I got the null doing it's thing then Worley's dynamic parenting plugin worked better (though not as well as I would have liked).