Non Uniform Scale in a runtime Engine

Hey,

Just wondering if anybody has Non-Uniform scale working in their engines and know how it was accomplished? I’m working on my own game engine at home and Maya handles non-uniform scale by using the scale-segment compensate, but I’m not really sure how to replicate this behavior in my transform code… I was wondering if anybody had any insight into this?

Thanks!
Judd

Hey Judd,

Usually this is baked right into the transform matrix.
Good reference:

http://www.flipcode.com/documents/matrfaq.html

Hey Kees,

Thanks for the response. I should have been a big more clear in my description. matrices and scale in the matrix is not the problem… I have an animation system written that constructs a fully functional hierarchy transform system, but its when you apply animation to skeleton/transform hierarchy that has non-uniform scale you get really bad results. I’m not sure how to do this in other packages, but in Maya if you create a 3 bone joint chain (like an arm) and you scale the first joint just down the axis that points down the joint (essentially a non-uniform scale), then you turn off the segment scale compensate on the child joint of this joint. Now rotate the child joint around and you’ll get a warped transformation. This is because the transformation is happening relative to the parent space which is a warped space based on the scale. Segment Scale Compensate is a fix for this, but I dont really know what its doing, so basically my question is what is Segment Scale Compensate (in detail) actually doing?

The second question is if anybody’s game engine actually supports animating non-uniform scaled hierarchies?

Thanks!

Havok does support non-uni scale Judd.

Hey Brad, do you know if there is any available source on their implementation? I assume their low level code-base is not exposed… we have the SDK here, so I’ll try looking into that. I’m really after either an actual implementation or the math behind the scale segment compensate, so that I can create my own implementation in my engine. I figured it was going to be such an easy thing… although I was forewarned by a programmer at work that this wasnt the case :slight_smile:

Thanks for all the responses :wink:

http://www.gamedev.net/community/forums/topic.asp?topic_id=484984

have you looked over this thread? might be of help

Yup, thats exactly what I was looking for. Thanks a lot!!

I love google, googley google goo…

its an interesting read,let us know how it turns out when you get your stuff up and running.

https://www.cmpevents.com/GD09/a.asp?option=C&V=11&SessID=8532

Not sure if there’s any other info.

Hey Rob, Thats sounds like some great info as well. Thanks!

How did the GDC panel go? I wish I could have made GDC this year :frowning:

Before unpacking your wedding dress, make sure that you have a clean, uncluttered area in which to spread the white wedding dress out away from food, pens, children, pets etc. Your hands should be clean and dry, and it’s wise to remove any jewellery that could snag the fabric of the wedding dress. Ideally, wear fine cotton gloves when handing or moving the plus size wedding dresses