blockbench icon indicating copy to clipboard operation
blockbench copied to clipboard

Bone rotation ignored in animator

Open MagicalFruitBasket opened this issue 2 years ago • 7 comments

(the box itself was never rotated, only the bone was)

https://user-images.githubusercontent.com/56946846/219335989-9e89dddc-9eb1-4745-a169-e3e49dfae5b8.mp4

Model format in which the issue occurs

Generic Model

Blockbench variant

Program

Operating System

Windows 10

MagicalFruitBasket avatar Feb 16 '23 10:02 MagicalFruitBasket

It just looks like you're hitting Ctrl+Z before clicking Animate, to go to the Animate tab. Notice how the bind rotation of the bone goes back to [0, 45, 0] right before?

Did Blockbench do it automatically somehow? It would be a first afaik, I just tested the same thing as you did in the video and the bone did not reset.

Cub0use avatar Mar 02 '23 22:03 Cub0use

It just looks like you're hitting Ctrl+Z before clicking Animate, to go to the Animate tab. Notice how the bind rotation of the bone goes back to [0, 45, 0] right before?

Did Blockbench do it automatically somehow? It would be a first afaik, I just tested the same thing as you did in the video and it the bone did not reset.

No, that's not what I was trying to demonstrate... Notice how the rotation in the normal view rotates normally on 1 axis but in the animator it treats it as if the bone is 0 0 0 instead of 0 45 0. Rotating the bone on the same axis in animate does not look the same as rotating the bone in the regular editor. That's the problem I was trying to point out.

MagicalFruitBasket avatar Mar 13 '23 20:03 MagicalFruitBasket

Oh, I see what you mean now.

So, two things: bones do not retain their bind pose rotation (the rotation they have in Edit mode) in animate mode. that's normal, they start from 0 0 0 to be simpler.

The other thing is that there are 3 rotation spaces: World, Bone, and Local. They all let you rotate bones differently. In your video, you were in Local mode (see the top tool bar). Because you already had rotation on one axis (0 45 0), when you rotated on the Z axis, it modified all 3 axis to keep the alignement you asked for. If you used Bone space, it would have modified only the Z axis.

Cub0use avatar Mar 13 '23 21:03 Cub0use

Oh, I see what you mean now.

So, two things: bones do not retain their bind pose rotation (the rotation they have in Edit mode) in animate mode. that's normal, they start from 0 0 0 to be simpler.

The other thing is that there are 3 rotation spaces: World, Bone, and Local. They all let you rotate bones differently. In your video, you were in Local mode (see the top tool bar). Because you already had rotation on one axis (0 45 0), when you rotated on the Z axis, it modified all 3 axis to keep the alignement you asked for. If you used Bone space, it would have modified only the Z axis.

But that's the problem? Using Local/Bone/World seems to make no difference in the animator, only in the editor. This was also not a problem previously...

MagicalFruitBasket avatar Mar 14 '23 11:03 MagicalFruitBasket

Local and Bone rotation space do not make a difference in the animator when you have no rotation change yet on the bone. It will once you have changed two axis at least.

Bone space is adding to one axis at a time, because it does so depending on the parent bone rotation alignement.

Local space will add to the bone depending on its own current rotation: when you click and drag the gizmo, the bone will keep up with the initial angle you rotated from, unlike Bone space.

Cub0use avatar Mar 14 '23 11:03 Cub0use

I say that but maybe you're onto something for the first axis, when the bone hasn't been rotated yet in animate mode. Jannis can probably confirm if that's the correct behavior, it's been like that for so long I don't see an issue with it myself, I'm too used to it.

Cub0use avatar Mar 14 '23 11:03 Cub0use

I tried to point out the potential issue in a longer video:

the gizmo does seem like it would rotate the bone on the plane it's already in, but it does not (starting at 0 0 0, in animate mode). Once I have rotated it on all three axis (and matched it up with the blue plane), the rotation on this plane is now possible.

https://user-images.githubusercontent.com/81629481/224993180-22c93b5c-a023-4245-b0c1-b5264a37c6d9.mp4

Cub0use avatar Mar 14 '23 11:03 Cub0use