Edit: Original context moved to the bottom.
As I see it I have two problems:
Problem 1
Ignoring IK for a second, I need to be able to create multiple stashed NLA tracks. One with "Replace" or "Combine" blending (the base animation) and every other track with "Add" blending (the additive animations).
The issue I have is in creating these additive tracks.
Because they're additive, I need to be able to create their keyframes "on top of" an existing animation as a base, or reference. This is especially important when two hands are closely tracking an object.
In my case the base is the end pose of the Equip animation when the crate is raised.
In other words, I need to be able to add keyframes that only record the relative transform rather than the absolute transform applied to the bone. If I used the i
menu I seem to only get options that apply the absolute transform, so the pose ends up being doubled when added to the base animation.
Whatever the solution, it does need to be exportable to glTF. It can't depend on constraints or drivers.
Problem 2
Because I have hands attached to arms, tracking an object, I use IK. Baking IK works well for the base animation because it's not additive.
When I attempt to bake an NLA track with "Add" blending I get the base animation baked in as well. This means the pose ends up being doubled when added to the base animation.q
If we can find a solution to Problem 1 I may be able to just manually bake keyframes from IK. But that depends on the solution.
Context
My current predicament:
I'm making a game and animating in blender. I have a crate object with a single bone. I have a linked armature from my player arms blend file with a library override.
The player arms and hands are IK constrained to track an empty each, called HandTarget.L/R
. These are parented to a single bone that in-game is retargeted as the bone of the item being held. Let's call it ItemTarget
. The empties provide offset and rotation for the player hand, and allow for fine control while animating.
I have an equip animation, which is baked from an IK animation of the ItemTarget
target bone moving up into view. This is my base animation.
I want to add additive idle animations, use animations, etc.
If I'm not using IK and the idle animation is simple this is fine. I reset to rest pose and guess at the rotations required to get the desired outcome when added to the equipped pose. It's not accurate but for simple one-handed items it's fine.
But with two hands accurately tracking a held object I need to use IK.
And to use IK I need to bake my idle animations as additive animations on top of my base equip animation.
I've spent about 3 days attempting this in various ways and doing as much research as I can, but everything I've tried so far has either been badly mangled or has my base animation baked in.
Is there any way to do this in blender? I've also paid for and tried the Animation Layers addon but it has the exact same problem with IK baking from what I've found.
add
blending above my base animation 2. Switching to tweak mode (pressingTab
with theadd
track selected) 3. Manually entering keyframes where needed using loc/rot 4. Turning off the IK constraint, and muting the base animation NLA track 5. Baking theadd
layer into areplace
layer $\endgroup$