non-uniform bone global scale

A place for users of OGRE to discuss ideas and experiences of utilitising OGRE in their games / demos / applications.
Post Reply
eMeldonian
Gnoblar
Posts: 7
Joined: Fri Oct 04, 2013 3:41 pm

non-uniform bone global scale

Post 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.
eMeldonian
Gnoblar
Posts: 7
Joined: Fri Oct 04, 2013 3:41 pm

Re: non-uniform bone global scale

Post by eMeldonian »

Wrong forum I guess, every moderator can feel free to move this to the Help forum.
User avatar
dark_sylinc
OGRE Team Member
OGRE Team Member
Posts: 5586
Joined: Sat Jul 21, 2007 4:55 pm
Location: Buenos Aires, Argentina
x 1413
Contact:

Re: non-uniform bone global scale

Post 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.
eMeldonian
Gnoblar
Posts: 7
Joined: Fri Oct 04, 2013 3:41 pm

Re: non-uniform bone global scale

Post 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.
User avatar
dark_sylinc
OGRE Team Member
OGRE Team Member
Posts: 5586
Joined: Sat Jul 21, 2007 4:55 pm
Location: Buenos Aires, Argentina
x 1413
Contact:

Re: non-uniform bone global scale

Post 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?
eMeldonian
Gnoblar
Posts: 7
Joined: Fri Oct 04, 2013 3:41 pm

Re: non-uniform bone global scale

Post 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.
Post Reply