Lane:
Not sure what UMA is... can you linky-link me up?
Jean:
Yeah, I was going all kinds of batty trying to work with this both in Unity and Max (when I decided to try it.) Then someone on reddit suggested adding in a dummy object to give some measure of separation which was the trick that did it (though they were thinking adding it in in Unity but that, I suspect, would really throw the animation data off since it would be changing the hierarchy.) So, taking that same inverse scaling magnitude thingamabob and applying that to the dummy object between the bones in Max gave me enough wiggle room to have the scaling matrices be regular whilst preserving the hierarchy of the bones themeslves. It's a bit of setup and had me agonizing over the code-elements... But it produced some decent results (That said, the preview panel in the animation tab in the inspector was showing the scaling as being off... But in the scene itself the animation was what I wanted it to be. So, if you take a look see at the animation that you can export from the linked file the data seems safe... but the preview panel might look off.)
Thank you for the responses.
That said, since I was facing a lot more difficulty with this in Unity I tried applying the same principles to a rig in Max... And that resulted in the behaviour that I wanted.
So, as much as this could still be a great topic (as I can see many other ways that dis-inheriting the scaling that a child object inherits from it's parent would come in handy) I'm going to link to the max file I have uploaded to my site to show you the rig itself...
Note, the usual disclaimers apply... I take no responsibility for crashes, loss of data or time or whatever if you use this... And it's only offered as-is to learn from... But this gave me a stretchy bone rig that has a (somewhat) preserved hierarchy that is unity compatible.
Oh, and I am sorry to any maya/blender users... I don't know how you'd do something like this. But if you can replace or alter the scaling control systems in your hierarchy, you could apply the same kind of "1/parentObjectScale" approach... But I make no promises... I'm a max-head through and through after-all.
http://www.badseedgames.com/SharedFiles/UnityStretchyBoneRigPrototype.zip