Setting up Character constraints without object popping

   2311   5   2
User Avatar
Member
357 posts
Joined: Nov. 2015
Offline
Hello, I'm trying to setup a constraints system like the one previewed in the tutorial in the link for maya.
So what I want is to have one object constrained to two different masters and stay wherever it is in space when I switch masters and NOT pop to the location of the current master.
I tried using some CHOPs setup with blends and offsets but nothing worked. Please help!!!!!!!!!!

Thanks Much.

Your text to link here… [app.pluralsight.com]
Edited by traileverse - May 30, 2017 00:03:27
hou.f*ckatdskmaya().forever()
User Avatar
Staff
477 posts
Joined: April 2014
Offline
The Parent Blend Shelf tool does exactly that.
In the attached scene, I have 2 animated box parents and I did the constraint by calling the shelf tool twice.

At frame 0, I add a Parent Blend through the shelf tool.
Select the rubber toy, hit enter, select the box1, check the viewport toolbar if “keepposition” and “add keyframe” are on, hit enter.

At frame 24,
Select the rubber toy, hit enter, select the box2, check the viewport toolbar if “keepposition” and “add keyframe” are on, hit enter.

You can also return the object to the first parent while keeping its current transformation by doing the same thing but at a later frame.

Now, after the constraint is setup you can still change when the transitions are done by moving the 2 activation keyframes on the blend nodes(green in the screenshot). If you do that, you'll need to click the update offset buttons on the Object offset nodes (yellow/orange in the screenshot) and this will store a new offset matrix and this is what prevents the popping.

Attachments:
parent_blend_twice.hip (341.4 KB)
blend_parents.jpg (23.0 KB)
parent_blend.gif (1.1 MB)

User Avatar
Member
402 posts
Joined: June 2014
Offline
Hi Guillaume,

I haven't had a chance to have a proper play, but is there any chance that keyframing the underlying Pose CHOPs could negate the need for chaining constraints in order to pass from one parent to another? Just a thought for more involved animations where there might be multiple passes between very few parents…

Cheers,
Henry
Henry Dean
User Avatar
Member
357 posts
Joined: Nov. 2015
Offline
Hello Guillaume,

Thanks alot for the response this is the result I wanted, But like friedasparagus mentioned, is there a way to accomplish it without the chaining? I'll have a go at using the pose CHOP though.

Again thanks alot for the response super helpful.
hou.f*ckatdskmaya().forever()
User Avatar
Staff
477 posts
Joined: April 2014
Offline
Hi Henry,
The problem is we need to compute the offset from the result of the first parenting operation when doing switching.
to the next parent.

In the attached image, I manually copied the pose_frame$F nodes up the graph, but when I started doing that I had to manually mute the effect of the blend at the transition frames when adding new transitions.

And then you can't really use the graph current flag to see the various steps involved in your constraints and you must somehow build a script to make that usable.
Edited by Guillaume - May 30, 2017 17:56:53

Attachments:
blend_parents_sequence.png (36.5 KB)

User Avatar
Member
402 posts
Joined: June 2014
Offline
Hi Guillaume,

Sorry to resurrect an old thread, but I've only just grabbed enough time to knock together an example of the keyframing idea for parent constraints. This is definitely the kind of setup that would need a shelf tool to manage (I've also been meaning to create get/setConstraintXform() python methods, which would be really handy for this kind of caper), but see what you reckon.

In the attached file, I've got keyframes set on the ‘Target’ path on the ‘Object Offset’ CHOP, and on the same frame I've got keys on the two ‘bindpose_before/after’ Pose CHOPs to update the offset. This seems to give the desired behaviour, and does clean up the chopnet a bit.

Cheers,

Henry

Attachments:
constraint_parent_change.hip (172.7 KB)

Henry Dean
  • Quick Links