Jump to content

Joint Deformations


Recommended Posts

Just curious :)

How do you guys usually handle Joint Deformations within Houdini :

i created a special CHOP/SOPnet to do something like the flexors in Maya (

first a SoftTransform whose orientation and amount is driven by the value of the angle between the two bones, but will later try some lattice things), but do you use special appropriate-for-this-case OPs/ do you use a three-bones method or anything else, wrapping techniques...

Maybe just painting capture values?

Link to comment
Share on other sites

What you describe is more than doable. Just fetch the bone angle, fit it to some nice values, then you can apply it anywhere.

fit(boneangle("bone_1", "bone_2"), 20, 70, 0, 1)

will fit the boneangle from 20 degrees - 70 degrees to 0-1. Perfect for blends and whatever. You can also use CHOPs to do this but I find the boneangle expression through a fit is a nice clean solution.

You can bind this expression to a lattice deformation, soft transform, blend some shapes or whatever before the deform SOP and it goes from 0 to 1.

One negative feature is that you are doing two or more deforms on your skin. Each one will slow you down. What's worse is that you may have to put this before the deform SOP so you can't turn on the performance enhancements built in to the deform SOP: Fast Deform and Assume Only Coordinate Changes In Input both on.

In Houdini6.5, there is the morph tool. You can set it up in the object viewport for your character, then dive in to the skin object and see what it created. The new morph tool allows you to wrap deformations applied before the deform SOP on the static geometry and apply them after the deform SOP using the new blendshapes SOP.

The key to doing this is turning on the "Assume Morph Network Setup" option in the blendshapes SOP. This turns on this behaviour.

I attached a real simple file of a deforming tube on how you would set this up.

You are still doing two deformations but at least you can create your targets and do this around the deform or any other SOP. This is more for cleaning up your capture weighting after you have animated a scene more commonly known as the character finalling step.

For your second question, using bones to behave as clusters is more common to deform the skin instead of using a soft transform SOP, lattices or other methods like the wire deformers. Two advantages: You can paint the region of influence with the paint capture layer tool in the object editor, all of this is done in the deform SOP so you only get hit once.

You can easily scale the entire bone with a parent null or you can inject the scale value in to the bone length and in to the Deform Region folder for the bones in question.

You can also use inflate SOPs to push the skin around. You can apply the inflates before or after the deform SOP now that the blendshapes SOP works around the deform. The real advantage is that it is real easy to rig a character that just shows deforms or shows subsequent blendshapes, soft transforms, inflates and more. Great for facial blend shapes.

morph_around_deform.rar

Link to comment
Share on other sites

...as a 'character finaler' myself I'd have to say that the Morph tool is kick-ass, you can fix alot of bad bidness very quickly without too much of a performance hit...

but IMO, deformations should be clean right out of rigging - and the simpler the better - no fancy lattice/flexors/bla/bla ... if you can't get it 90% of the way there with a few bones and some painting the you're doing something wrong...

just my 0.02

Link to comment
Share on other sites

  • 2 weeks later...

Thanks for the info, Jeff.

Has there been much request or development on Pose-Space deformation extractions? I know there is the EditSOP with the second input for Reference, but just say that several modeling operations are performed after the deform on a posed character - using various tools, etc. Is there an established technique or some good ideas out there to perform the inverse of the skeletal deformation to unwrap a rest-space or "capture-space" deformation?

Cheers,

Jason

Link to comment
Share on other sites

For the inverse skeletal deformation, see the new option in sopcreateedit hscript command in the post 6.5 builds.

A side note on the actual Pose-Space Deformation (PSD) technique. Now that we have the second input on the Edit SOP, the only missing piece is some CHOP to do the scattered interpolation.

Link to comment
Share on other sites

funny ed. i'll think about it.

i'm still not sure about somethings going on when the relative coordinate is created. Picking the "first" edge is not really good in some cases.(shears in topology). It's a tricking thing. an average from the surface may also lead you to a similar result no matter how blended the result.

when i get some time (ha, that's funny) i'll try the createeditsop hscript command after a deform to see the effect on capture weights. first things first...

-k

Link to comment
Share on other sites

You should ask Derrick, I don't think we pick the first edge. I think he did something by taking into account all the connected points. We never did have time to get to adding that option to consider more topology. That would have made it better perhaps.

Link to comment
Share on other sites

For the inverse skeletal deformation, see the new option in sopcreateedit hscript command in the post 6.5 builds.

Hi Edward,

Is this in 7.0? I looked at the sopcreatedit in todays beta build for 7.0 but it didn't seem to be there.

Link to comment
Share on other sites

Ah, I guess the -d option is what I'm looking for. I guess I didn't read the description closely enough. The helpcard could give a little more technical description of what its doing.

Thanks Edward, and Arctor for the most cryptic post I've seen around these parts yet ;)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...