1
$\begingroup$

Hello Blender Community,

I have rigged a robot-arm and now I want to import the Rotations for the Animation with a python script. However The Normals of the Bones aren't convenient for the Animation and I can't correct them with "roll". Is there any way to exchange the y-Axis with the x-Axis/z-Axis of the Normals of the Bone?

You can see the Axes in the Picture: enter image description here

$\endgroup$

2 Answers 2

1
$\begingroup$

You can simply change the orientation of the bones:

enter image description here

Here we have two armatures. The top armature corresponds to your pic. The bottom armature is exactly the same, except the bones' +Y axes point in the direction of the original +X axes, and the bones' +X axes point in the direction of the original +Y axes.

I made the second armature from a copy of the first, just by rotating the bones in "normal" orientation. Exchanging +X and +Y exactly requires an additional offset of 180 degrees to the roll.

However, you cannot change the coordinate system handedness: the direction of the +Z fully depends on the directions of the +X and the +Y. Coordinate handedness typically varies with application; different coordinate handedness is frequently found when translating between stuff designed with OpenGL (like Blender) and stuff designed with Direct3D (like most video games.)

If you don't like the way that these bones look, or the way they interact with, say, automatic weights, you can parent deforming bones in pretty axes, to non-deforming bones in ugly axes:

enter image description here

But here, since you're scripting anyways, I would recommend changing the animations in your script, rather than making armatures to completely match the animation data that you have. If you want X translation to be applied to a bone's Y axis, why not exchange X and Y translation in the script?

$\endgroup$
-1
$\begingroup$

While in the edit mode, select the bones and press "W" on your keyboard, you will get options

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .