Page 1 of 1

non-uniform bone global scale

Posted: Fri Mar 07, 2014 12:20 pm
by eMeldonian
Hello fellow ogre3d devs.

I have an issue with bones scales :
I have a model which is controlled by the code. For all the bones, I've got some global rotations and global scales as input, so i simply setManuallyControlled(true), setInheritOrientation(false) and setInheritScale(false) for each bone of the model. the point is when I setScale(x, y, z), no matter what I use, it seems that the scale is uniform, each scale seems to be (x, x, x) instead of (x, y, z).
Is that normal ? Is there a way to have non-uniform scaling on these bones ?

Or am I just supposed to get rid of global control and got through calculation to perform local rotation and scale of each bones ?

Thanks for your attention.

PS : Forgive my potential mistakes, I'm not english.

Re: non-uniform bone global scale

Posted: Fri Mar 07, 2014 4:32 pm
by eMeldonian
Wrong forum I guess, every moderator can feel free to move this to the Help forum.

Re: non-uniform bone global scale

Posted: Fri Mar 07, 2014 6:47 pm
by dark_sylinc
Wish granted. Moved.

As for your question, non-uniforms scaling isn't supported, though there is a patch. But that doesn't mean the scale is (x, x, x) but rather that skewing and shearing isn't supported.
If you scale a bone by (x, 1, 1), then its children will either be scaled by (x, 1, 1); (1, x, 1) or (1, 1, x)

Are your enabling any animation?

Ogre 2.0 supports non-uniform scaling natively, but for now the new animation system only works in InstancedEntity, not Entity.

Re: non-uniform bone global scale

Posted: Mon Mar 10, 2014 11:30 am
by eMeldonian
Your first sentence is a little bit hard to understand for me (english isn't my native language), I don't really get the point about "skewing and shearing".
For the second sentence, I don't think that's a problem, as I setInheritScale to false, so if I scale a bone by (x, 1, 1), its children will stay at (1, 1, 1).

I don't use any animation on the model, it's all procedural.

Maybe I'll simply wait for Ogre 2.0 to enhance my application.

Re: non-uniform bone global scale

Posted: Mon Mar 10, 2014 4:01 pm
by dark_sylinc
Here's a visual representation of skewing.
If your native language is spanish I can answer you in spanish :P

However, I now think this is not your problem. For what you're saying, what's happening to you shouldn't be happening. Could you post some code and some screenshots?

Re: non-uniform bone global scale

Posted: Tue Mar 11, 2014 6:17 pm
by eMeldonian
Technically... I can't (I.P. stuff)

But that's easy to picture : just imagine I have a human model, and I want it to have long forearms (long, but not big).
I tried to simply set the bone scale to (2, 1, 1), where x is the bones direction and the forearms just became uniformly bigger.
But that's fine, I just wanted to know if there is something simple to do that, if no, I'll go another way.

PS : French, not Spanish.