3
$\begingroup$

I found an animated character online. I want to rotate this character for all the keyframes by 180 degrees along the Z-axis. This can be done by rotating the root bone. But how do I go about rotating the root bone for all keyframes?

The animation use quaternion rotation.

Here's the .fbx file

$\endgroup$
6
  • $\begingroup$ Provide more information about it. What rotation model it uses, Quaternions or Euler? What animation does root bone already have, is it moving? $\endgroup$
    – Crantisz
    May 27 '20 at 8:08
  • $\begingroup$ It uses quaternion rotation. Yes the bone is moving $\endgroup$ May 27 '20 at 8:09
  • $\begingroup$ your link doesn't work. Have you tried in the Graph Editor? $\endgroup$
    – moonboots
    May 27 '20 at 9:52
  • $\begingroup$ Ok, i'll reupload the link, maybe it was a temporary link $\endgroup$ May 27 '20 at 9:53
  • $\begingroup$ @moonboots Yes i tried graph editor. It was a mess. I want rotation of 180 degrees. But the rotations of the armature are in quaternions $\endgroup$ May 27 '20 at 9:54
1
$\begingroup$

Here's my comment to @Crantisz's answer

I have tried this and I know that it works for the armature. The problem is that I am using this armature to control mesh which is not directly parented to this armature through NLA. And when I try this method the mesh follows the original motion without rotation

This problem arises because, when using above method the main armature only copies the actions of other armatures but preserve its object properties.

So to solve this problem I inserted a LocRotScale keyframe in the beginning and at frame - 1 where I want rotation. This prevents unnecessary transformations. Now I rotated the main armature and insert LocRotScale keyframe. This does the job for me

$\endgroup$
1
  • $\begingroup$ Amazingly, this worked for me. Very simple compared to what I was trying. If you're using the NLA don't forget to specify "extropolation = hold" on the track that contains the "frame -1" pre-seed keyframe. (select the track and press "n" and then set the property). $\endgroup$
    – vt5491
    Sep 16 at 7:23
0
$\begingroup$

I think the easiest way to do this - it just rotate all armature as object. To do this:

  • Make sure, that you select armature in object mode. If you are in Pose mode, switch to object.
  • Then rotate object as you need.

Also, you can add new root bone, and parent "old root bone" to the new one. In this case you can use it to position and rotate all bones in pose mode.

$\endgroup$
2
  • $\begingroup$ I have tried this and I know that it works for the armature. The problem is that I am using this armature to control mesh which is not directly parented to this armature through NLA. And when I try this method the mesh follows the original motion without rotation $\endgroup$ May 27 '20 at 8:22
  • $\begingroup$ I'm not completely sure about this, but would delta keyframes be the answer here? Sadly, I can't figure out how they work. $\endgroup$
    – R-800
    May 27 '20 at 8:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.