We are pleased to announce that the si-community board has been upgraded to phpBB version 3.2.1! Let us know what you think , report bugs , and find out what has been improved in this thread
Click the "X" in the upper right corner to close this announcement

Dual Quaternion Deformation v1.3 by Grahame Fuller

Post Reply
User avatar
owei
Administrator
Posts: 765
Joined: 03 Jun 2009, 17:25
Location: Siegen/Germany
Contact:

Dual Quaternion Deformation v1.3 by Grahame Fuller

Post by owei » 24 Nov 2009, 09:52

Dual Quaternion Deformation v1.3 by Grahame Fuller


Description:

Updated version of the compound from Phil's ICE Pack. It implements the algorithm from the "Coping with Antipodality" section of Kavan's 2008 paper which fixes the problem with polygons flipping at 180 degrees.

Cheers,
gray

Dual Quaternion Deformation v1.3 can be foudn here:
http://www.si-community.com/download/co ... on.1.3.rar

User avatar
Mathaeus
Posts: 1659
Joined: 08 Jun 2009, 21:11
Location: Zagreb, Croatia
Contact:

Re: Dual Quaternion Deformation v1.3 by Grahame Fuller

Post by Mathaeus » 28 Nov 2009, 00:36

Hi all,

I felt free to add a few features. Now it support scaling, I believe I correctly followed a way described in original paper

Also, there are small changes for convenience: slider for blending between linear blend and DQ envelope, so you can use weight maps for that purpose. Also, it's possible to choose envelope property - in case it's name is different than default. For example, this can happen when using envelope presets. I've added the same reference, to Cleanup Painted Weights compound too.

So, how to use DQ compounds:

- Apply standard envelope operator, mute it.
- Apply unsimulated ICE tree in animation region.
- First, connect Cleanup Painted Weights compound. In case your envelope property has a different name than default ("EnvelopWeightCls.Envelope_Weights"), point to enevlope property - a black-white gradient icon under envelope cluster.
- Connect "Dual Quaternion Deformation With Scaling" compound, point to envelope property.
- Connect your envelope group to both compounds. If you don't have one, go to Animate Panel, Envelope> Select Deformer From Envelope, create group.

Limitations:

- It still doesn't support animated bone length. Workaround is to use nulls, with scaling linked to bone length, or just to distribute nulls over bones.
- When you apply standard envelope, your mesh should be at world zero transform.
- As it described in original paper, it still can cause polygon flipping at 180 degree, but this time, this degree is relative to another deformers, involved in blending - not to static kine state, so it's really hard to go in this. If flipping still happen, you can avoid it by using intermediate deformers.

Download compounds


Cheers, and thanks to Grahame again!
The renderer "turtle" used by this scene, is not currently available. The "turtle" renderer will be used instead.

grahamef
Posts: 281
Joined: 23 Jun 2009, 21:01

Re: Dual Quaternion Deformation v1.3 by Grahame Fuller

Post by grahamef » 03 Dec 2009, 18:43

Good stuff, Mathaeus!!

This is an update to my earlier compound. It handles meshes that aren't at the origin correctly. But it doesn't have Mathaeus' scaling fix.

http://www.xsidatabase.com/uploads/icec ... mation_v15

grahamef
Posts: 281
Joined: 23 Jun 2009, 21:01

Re: Dual Quaternion Deformation v1.3 by Grahame Fuller

Post by grahamef » 04 Dec 2009, 21:51

I added scaling to my version and made some other changes:

http://www.xsidatabase.com/uploads/icec ... mation_v20

I liked Mathaeus' idea to expose the envelope cluster property, and I also exposed references for the deformer group (not just the in name) and the envelope itself.

I left Deformation Method as a drop-down but note that it's really a scalar 0-1 so you can connect a weight map (or a scalar node for a slider).

I didn't add a toggle to consider scaling or not because I figured that if there was any scaling, users want to take it into account.

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest