BoneTransform - scale

I would like to be able to scale bones for bone animation.  We are developing a children's game and scaling bones allows us to squash and stretch the character giving them a more cutesy feel.  I've made attempts at adding this, but I haven't been successful at it.



Is there any plans to add scaling abilities to BoneTransforms in the future?



Thanks



deerslyr1

I think it does, but the problem is that we are using Collada animation files and the bones are read in and transforms are applied to the bones.  In these BoneTransforms we have to extract the scale vector and apply it for the key frames.  I've got this much figured out, but I don't think I am correctly extracting the scale vector based on the simple animations I am looking at.  I've added some functionality to Matrix4f to do this, but it is I haven't generated a good set of test cases to verify it is working correctly.  Aren't there issues with the multiplication order used for these matrices?  I've got Maya generating the Collada file and jME reading it in, so I guess I just need to coordinate how the transform is generated in Maya with how it is extracted in jME.



Does any of that make sense? 



deerslyr1

Some work has been done in that area.  I thought this was already in though…  I'll see if I can untangle it and get it into cvs if not.

you should be able to apply scale to the Bone objects themselves with setLocalScale.  Does that accomplish what you are looking to do?

If you have a good collada example, I'd be happy to see if it's straightforward to fix up the support.

I sure do.

Meh, I have not had time to get to this yet.

are you animating the scale?

My artist had asked me about it, but since you were nice enough to look at it, I told her we could wait.  So, periodically I'll ping you but do it as you have time.  We are animating the scale.  Each keyframe we have a different scale that provides a nice conservation of mass approach to stretching.



deerslyr1

I guess you are modifying the collada importer then?

I've tried, but I am missing something.  It's also part of the BoneTransform class, since it currently doesn't support scale.