Dual Quaternnion & Global Scaling

Issues concerning rigging & Face Robot...
Post Reply
missingkey
Posts: 91
Joined: 19 Dec 2012, 18:16

Dual Quaternnion & Global Scaling

Post by missingkey » 06 May 2014, 20:39

Hey All. I'm trying to get the DQ ICE Op working on a rig, but am hitting walls with global scaling. The DQ seems to support scaling of the deformers just fine. But doesn't seem to be able to handle global scaling of the rig.

the rig scales up & down fine, as it should, but when rotating controls. It's as if the rotations being applied aren't being scaled down.

Anyone else come across this? how did you solve it?

missingkey
Posts: 91
Joined: 19 Dec 2012, 18:16

Re: Dual Quaternnion & Global Scaling

Post by missingkey » 07 May 2014, 00:30

well I can get things working with either Global Scaling, or deformer scaling. But not both.

the built in XSI DQ ice node gives me deformer scaling, but not global scaling. And I managed to hack an old "Bone based deformation" ice node to give me global scaling, but not deformer scaling. lol.

Does anyone have this working?

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

Re: Dual Quaternnion & Global Scaling

Post by Mathaeus » 07 May 2014, 11:06

well, first of all, scaling always seems to be issue with DQ thing. Original paper simply does not considers scaling or shearing, I think this is mentioned explicitly. In other apps, like Maya or Blender, also there are issues ( nicely to say), when it comes to scaling.

If this SI ICE node has same mechanism as it was before four years, there is a sort of trick inside node, to do scaling before any calculation. Output of matrix node is converted to SRT, scale is done, then it is converted back to matrix. SRT is, of course, always global, but, when parent is scaled, my wild guess is, deformer's position comes out of expected state ( related to saved static kine state).
I think (not in front of SI, now), there is a way to workaround this, perhaps by compensating the parent scale in compound ( to do reverse scale), after calculations related to deformers, before doing anything with point position. Then, at the end of calculation, applying the parent scale on all point positions at once. BUT, this might cause issues if there is another deformation operator later in stack, somehow linked to the SRT of deformers (at least, that's how I imagine this, right now).
So long story short, if you can re-envelope your mesh, to desired parent scale, I'd say, do it.

Post Reply

Who is online

Users browsing this forum: No registered users and 24 guests