0
$\begingroup$

I have 3 poses: Default , Location , Rotate & I need to execute them in that order, like this:

armature.pose = armature.pose["Default"]; #1
armature.pose = armature.pose["Location"]; #2
armature.pose = armature.pose["Rotate"]; #3

but this does not work, instead whatever pose was selected manually before running the script it seems to be going from it to Rotate

For example if Default was selected manually and then the script was run, this is the pattern it follows:

Default -> Default
Default -> Location
Default -> Rotate

The output of this is that it shows only rotation change

Whereas it should be:

Default -> Default
Default -> Location
Location -> Rotate

The output of this should be that it changes location then rotates

$\endgroup$
1
  • $\begingroup$ What do you mean by 'execute'? Poses are static positions. Are you trying to generate an animation where Blender uses interpolation to move from one pose to another over many frames? You need to move to a frame, set the pose, keyframe the pose, and then move to a later frame and do the same thing with the next pose. $\endgroup$ Jun 14 at 15:06

1 Answer 1

0
$\begingroup$

I may have come up with a pseudo solution:

armature.pose = armature.pose["Default"]; #1
bpy.ops.screen.animation_play();
armature.pose = armature.pose["Location"]; #2
bpy.ops.screen.animation_play();
armature.pose = armature.pose["Rotate"]; #3

but I'm not sure if it will work everytime

$\endgroup$

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.