4

What bones does "Add New Pose" operator store in Pose Library ?

I am animating with "Blenrig" Character Vincent and it has lots and lots of bones. When I try to store poses it creates keyframes for all the bones whether hidden and in the same layer or even if the whole layer is hiden. Which makes it very heavy. And takes a lot of time while storing each pose.

So I needed clarity on how does "Add New Pose" operator function?

Is there a way to only store keyframes of only selected bones in poseLib?

I even tested it creating a test case added an armature with 3 bones

  1. Created a PoseLib
  2. Selected one Bone

Selected one Bone

  1. Added a New Pose

Added a New Pose

  1. In the Action Editor All the Three bones are keyed

In the Action Editor All the Three bones are keyed

Amir
  • 3,074
  • 2
  • 29
  • 55
ashwin
  • 1,739
  • 2
  • 21
  • 46
  • Did you try selecting JUST those bones you want to record? That's the normal way to do it with PoseLib. Explain how you're saving your poses. What steps are you taking? – Anthony Forwood Jul 04 '16 at 20:34
  • Yes i did try by selecting few bones. But it keys all the bones. – ashwin Jul 05 '16 at 05:07
  • You must have done more than "selecting few bones". More details would help. – Anthony Forwood Jul 05 '16 at 07:28
  • Please check the question i added screen shots of test i conducted – ashwin Jul 05 '16 at 12:36
  • You can just delete those extra channels in the Action editor by clicking on them and then hitting delete. By default, Blender saves every Loc/Rot/Scale value for every object you keyframe. If you open the sub-list for that one bone you want to keyframe, you'll see that there are actually 10 channels being keyed. You can refine the keyframes even further by selectively keyframing ONLY the channels you want, or deleting the excess ones here. Just be careful that you don't accidentally delete ones that are involved in the pose. – Anthony Forwood Jul 05 '16 at 23:54
  • Read up on keyframing in the Blender docs to learn the various ways you can selectively key values to avoid keying ones you don't need to. – Anthony Forwood Jul 05 '16 at 23:56
  • Also look into Keying Sets, which are predefined groups of values for keframing. You can create your own keying sets or use ones that Blender has set up already. You can access them on the Timeline menu, on the far right. – Anthony Forwood Jul 06 '16 at 00:18
  • @ Anthony Forwood Thank you for response. What ever you have said on selective keying with use of "Keying Sets" etc hold good for key-framing in main animation Action.

    Deleting chanels in PoseLib is the only option and i am doing that right now but every time i add new pose it again keys all bones. More than anything keying 1200+ bones at a time dose take lot of time. So every time i add pose it takes several sec to create keys for pose.

    – ashwin Jul 06 '16 at 08:55
  • What do you expect with so many bones? – Anthony Forwood Jul 06 '16 at 09:43

1 Answers1

0

pose library won't save positions of bones with DEF in the beginning of their name. You could try that for a basic ignoring of specific bones.

Or to disable bones in a keyframes From: https://www.blender.org/forum/viewtopic.php?p=107151&sid=ad277a6cd901c3e716346e1bdd51c371#p107151 "Mute the Bone's animation channels in F-Curve Editor and change frame to update 3d view:"

The only other way I can think of is to use a script which grabs all of the keyframes and allows you to modify only parts of that script before being run again.

I suggest you look into scripting and start with some of the codes here: How to get keyframe data from python?

Frederick
  • 159
  • 12
  • Thanks though your answer partially helps. It does not solve the problem. What i am looking at is not adding keyframe to poseLib of which are not selected. All the bones here are control bone and not Deformation bones. So within 2000 of control bones can just add selected 100 bones keys to poseLib? – ashwin Nov 05 '17 at 14:19
  • Try that.

    get keyframes and set as X rotate 2nd keyframe and set as X1 run armature as X

    #this'll be the far trickier part. conform to run armature as X1

    I am in a similar situation.

    – Frederick Nov 05 '17 at 15:20