• Editor
  • how to scale all bones in one direction only?

Hi, I'm sorry for this newbie question, but can't find it on the forum and I tried several things in the editor and dopesheet now without success. Like entering different scaling values in the scale textboxes and only dragging one axis-handler, but all seem to always scale both axis at the same time.

How can we scale multiple bones at the same time in only one direction to keyframe the result?

Thanks!

Related Discussions
...

Hello Friebel, could you post an example of the result you expect?
Normally, it is enough to just scale the parent bone (the highest in the tree hierarchy) to scale also all of its children in the same direction of the parent. If you want non-uniform scaling, as you wrote you can click and drag only one of the two handles, or you can also ty the numeric field input for precise results. Tools - Spine User Guide: Numeric entry

Erikari a écrit

Normally, it is enough to just scale the parent bone

Thanks for your response Erikari. You're absolutely right, just scaling the rootbone gives the result I'm after. There's obviously no need to select all bones to scale them all. And I see now if I only scale the root bone it is possible to scale in in one direction only, so that did the trick! Thanks for your help!

Glad that worked! on a side note, if it's a simple character with very few bones I guess you could scale the root, but as a rule of thumb, you should try to avoid messing with it as much as possible, especially on more complex characters, because this could potentially create problems when implementing the character in the game engine.

Erikari a écrit

as a rule of thumb, you should try to avoid messing with it as much as possible.

Thanks for the tip. What kind of problems could occur when scaling the root? And would it be better to scale the first bone coming from the root instead?

I asked the team about it in detail, because I'm a humble artist, and below you can find their answers:

  • you can edit the root and it will be supported across all game engines.
  • it's more efficient to have fewer bones, so it's slightly wasteful to have the root bone doing nothing.

There aren't problems with animating it, until there are, for example:

  • It can just be surprising for programmers when things are bigger than they should be e.g. when you scale the whole skeleton through the root. (root scaling)
  • Or if the character is not centered on the pivot point of the skeleton (root motion), translation of the root, especially during animations, is more of a problem for programmers to handle.
  • If you need to handle non uniform scaling on the root, but manipulate some of the bones via code, it can be tedious to continuously reset the child bone (aka any bone besides the root) to an odd number.
  • If you later need a bone that is not affected by the root bone (maybe an IK target), then it is a pain to adjust your bone hierarchy and especially animations.
  • Usually the root is used for the hip. such adjustments would be to introduce a new hip, copy the root keys to it, and move the root to 0,0. there are some ramifications of animating the root bone in the editor which come from how you want to manipulate it at runtime. eg, you may want to scale root bone at runtime, so moving it changes the origin.

Nate also said:
I wouldn't say it's right to tell people to never animate it, since less bones is better, just that in some scenarios you don't want to animate the root.

Erikari a écrit

I asked the team about it in detail, because I'm a humble artist, and below you can find their answers:
....

Just see I forgot to react. I read your post that day and immediately went on to Spine. Thought I reacted, but I didn't. :o Sorry for this.

Thanks a lot for your effort and thorough answer! That answers the question! :yes: :handshake: