Math: Dual Quaternions with scaling... how?

This is a rather technical question, but I guess there's no harm in asking... I want to know how DAZ Studio adds scaling to Dual Quaternion skinning. I'm trying to add Dual Quaternion skinning to Unreal Engine 4. I understand the math. And there is a way to add scaling, but so far, I've only seen scaling on all axis. DAZ Studio supports individual X, Y, Z scaling as well. Also, when using Dual Quaternions with scaling, you get numerical drift when blending bone transformations because the dual quaternions are no longer normalized.

For now, I guess I can lock all the scaling so that when I export a figure, the scaling is baked into the exported figure. That will solve my problems I think. But it means not being able to use scaling in UE4 (not that I really need it). This in turn means I can't use Dual Quaternions as a replacement to what's there now.

Oh, as you've probably guess, Unreal Engine 4 does not have dual quaternion skinning support. They apparently had it at one time, but never enabled it and they deleted so they didn't have to keep maintaining unused code. I've now added full dual quaternion math support locally in UE4. Trying to update the shaders now to see if I can get it to work.

I don't suppose anyone knows how to get in touch with a developer of DAZ Studio?




Sign In or Register to comment.