NLA Visual Bake of Actions (with Rigify character) Gives broken results. #96459

Open
opened 2022-03-14 18:02:11 +01:00 by AOG · 17 comments

System Information
Operating system: Windows 10 Home 64bit
Graphics card: GeForce RTX 2080

Blender Version
Broken: 3.1.0, branch: master, commit date: 2022-03-08 18:16, hash: c77597cd0e, type: release, build date: 2022-03-09, 00:44:13
Worked: 3.0 and later - All that can open this file correctly.

Description
(Files provided for testing)
you'll find a stack of NLA Action strips resulting in desired animation.
Baking those actions into a single Action using visual keying results in Broken looking animation (baked action is set to Replace).
Additionally even though the resulting strip is set to replace and placed as the top layer. Turning Layers on/off below it affects the resulting pose on the character.
One would expect once the top layer is set to Replace, anything happening in the lower layers should have no apparent effect and could safely be removed from the NLA.

Attached Viewport Renders of Pre and Post Bakes for reference.
Attached Character rig used as a Library override (save and relocate the library override from the outliner in the Animation file)
Attached The Animation File in which I am attempting to Bake.

Exact steps for others to reproduce the error
MomoDebug_A_rig.blend

BadBakeNLAActions.blend

  • Open file BadBakeNLAActions.blend. MomoDebug_A_rig.blend is linked, so may need relocating
  • Delete The top NLA track - it is my failed bake.

Turn on all other tracks below

image.png

  • Run Object > Animation > Bake Action. Use Visual keying option.
  • Turn off all the layers below (EXCEPT for the WORLD PLACER, that one doesn't get baked because it affects the rig Object itself rather than the bones)

Result:
I couldn't remove the layers below without breaking the animation.

**System Information** Operating system: Windows 10 Home 64bit Graphics card: GeForce RTX 2080 **Blender Version** Broken: 3.1.0, branch: master, commit date: 2022-03-08 18:16, hash: c77597cd0e15, type: release, build date: 2022-03-09, 00:44:13 Worked: 3.0 and later - All that can open this file correctly. **Description** (Files provided for testing) you'll find a stack of NLA Action strips resulting in desired animation. Baking those actions into a single Action using visual keying results in Broken looking animation (baked action is set to Replace). Additionally even though the resulting strip is set to replace and placed as the top layer. Turning Layers on/off below it affects the resulting pose on the character. One would expect once the top layer is set to Replace, anything happening in the lower layers should have no apparent effect and could safely be removed from the NLA. Attached Viewport Renders of Pre and Post Bakes for reference. Attached Character rig used as a Library override (save and relocate the library override from the outliner in the Animation file) Attached The Animation File in which I am attempting to Bake. **Exact steps for others to reproduce the error** [MomoDebug_A_rig.blend](https://archive.blender.org/developer/F12927482/MomoDebug_A_rig.blend) [BadBakeNLAActions.blend](https://archive.blender.org/developer/F12927496/BadBakeNLAActions.blend) - Open file BadBakeNLAActions.blend. MomoDebug_A_rig.blend is linked, so may need relocating - Delete The top NLA track - it is my failed bake. # Turn on all other tracks below ![image.png](https://archive.blender.org/developer/F12927473/image.png) - Run Object > Animation > Bake Action. Use Visual keying option. - Turn off all the layers below (EXCEPT for the WORLD PLACER, that one doesn't get baked because it affects the rig Object itself rather than the bones) Result: I couldn't remove the layers below without breaking the animation.
Author

Added subscriber: @AgeofGar

Added subscriber: @AgeofGar
Member

Added subscriber: @OmarEmaraDev

Added subscriber: @OmarEmaraDev
Member

Changed status from 'Needs Triage' to: 'Needs User Info'

Changed status from 'Needs Triage' to: 'Needs User Info'
Member

I can't seem to replicate the issue, but I feel there is a step missing. Can you give more detailed instruction on how to replicate the issue? Here is what I did:

  • Open BadBakeNLAActions.blend.
  • Relocate the MomoDebug_A_rig.blend library.
  • Delete failed bake.
  • Bake the animation with the default option but with Visual Keying enabled.
  • Add a strip with the bake action, make sure it is at the top and replace the other strips.
I can't seem to replicate the issue, but I feel there is a step missing. Can you give more detailed instruction on how to replicate the issue? Here is what I did: - Open BadBakeNLAActions.blend. - Relocate the MomoDebug_A_rig.blend library. - Delete failed bake. - Bake the animation with the default option but with Visual Keying enabled. - Add a strip with the bake action, make sure it is at the top and replace the other strips.
Author

This comment was removed by @AgeofGar

*This comment was removed by @AgeofGar*
Author

Ok @OmarEmaraDev I found the problem !
The Rig Main Properties do not get baked for me. I'll send you a screen shot.
Here's how rig properties are keyed in the strip at the bottom.
image.png

Here's how they look in the Baked strip: not keyed
image.png

Because of that they inherit the values of whichever Strip was enabled then disabled last:
Here's what the same controls look like after enabling/disabling the second to last track.
image.png

Because of this you could accidentally make the result of your bake look right, or broken when you don't realize this his happening.

Ok @OmarEmaraDev I found the problem ! The Rig Main Properties do not get baked for me. I'll send you a screen shot. Here's how rig properties are keyed in the strip at the bottom. ![image.png](https://archive.blender.org/developer/F12951048/image.png) Here's how they look in the Baked strip: not keyed ![image.png](https://archive.blender.org/developer/F12951054/image.png) Because of that they inherit the values of whichever Strip was enabled then disabled last: Here's what the same controls look like after enabling/disabling the second to last track. ![image.png](https://archive.blender.org/developer/F12951057/image.png) Because of this you could accidentally make the result of your bake look right, or broken when you don't realize this his happening.
Member

Changed status from 'Needs User Info' to: 'Needs Triage'

Changed status from 'Needs User Info' to: 'Needs Triage'

Added subscriber: @iss

Added subscriber: @iss

@AgeofGar Following comments should be reported separately. Also this file is very complex I think developers would be very unhappy about this. From your last comment it sounds like this should be relatively easy to reproduce with much simpler file, but I don't have much experience with NLA, so I am not sure about that. In any case if you can simplify this case it would be much appreciated.


Additional bugginess:
If you turn turn the two bottom layers on/off and scrub the timeline it will affect the result even though the top layer is on and set to Replace. (see the broken videos)
Correct_PreBake.mp4

Broken_LegsPostBake.mp4

Broken_HeadTwist.mp4

@AgeofGar Following comments should be reported separately. Also this file is very complex I think developers would be very unhappy about this. From your last comment it sounds like this should be relatively easy to reproduce with much simpler file, but I don't have much experience with NLA, so I am not sure about that. In any case if you can simplify this case it would be much appreciated. --------- Additional bugginess: If you turn turn the two bottom layers on/off and scrub the timeline it will affect the result even though the top layer is on and set to Replace. (see the broken videos) [Correct_PreBake.mp4](https://archive.blender.org/developer/F12927479/Correct_PreBake.mp4) [Broken_LegsPostBake.mp4](https://archive.blender.org/developer/F12927480/Broken_LegsPostBake.mp4) [Broken_HeadTwist.mp4](https://archive.blender.org/developer/F12927481/Broken_HeadTwist.mp4)

Changed status from 'Needs Triage' to: 'Confirmed'

Changed status from 'Needs Triage' to: 'Confirmed'
Member

Added subscriber: @BClark

Added subscriber: @BClark
Member

"The Rig Main Properties do not get baked for me. I'll send you a screen shot.
Here's how rig properties are keyed in the strip at the bottom."

Yes this is a known issue and long standing problem

https://vimeo.com/503261365

We have a patch that is in the works, one of many to start fixing these issues but the main issue isn't with the NLA or actions, it is with the BAKE

BAKE ACTION- only looks at object or pose and doesn't look at any properties, it is a very limited bake.

"The Rig Main Properties do not get baked for me. I'll send you a screen shot. Here's how rig properties are keyed in the strip at the bottom." Yes this is a known issue and long standing problem https://vimeo.com/503261365 We have a patch that is in the works, one of many to start fixing these issues but the main issue isn't with the NLA or actions, it is with the BAKE BAKE ACTION- only looks at object or pose and doesn't look at any properties, it is a very limited bake.
Author

@BClark @iss
Since this is known I'm guessing you no longer need a simplified sample file ?
Let me know if that is the case.

Also found the link to the bake issue, but it says it's closed and archived. Is there an active task elsewhere ? I would love to follow this issue until it gets resolved.

Thanks

@BClark @iss Since this is known I'm guessing you no longer need a simplified sample file ? Let me know if that is the case. Also found the link to the bake issue, but it says it's closed and archived. Is there an active task elsewhere ? I would love to follow this issue until it gets resolved. Thanks
Member

yeah no sample file needed... and I answered over there on the thread, it is closed because it is a feature request for a tool not a "bug" .

yeah no sample file needed... and I answered over there on the thread, it is closed because it is a feature request for a tool not a "bug" .

In #96459#1334390, @BClark wrote:
yeah no sample file needed... and I answered over there on the thread, it is closed because it is a feature request for a tool not a "bug" .

Can you provide link to report here? I guess that would be #65773?

In #96459#1334216, @AgeofGar wrote:
@BClark @iss
Since this is known I'm guessing you no longer need a simplified sample file ?
Let me know if that is the case.

If you agree with that issue is because of animated custom properties influencing position, then I should merge this report. If you think the issue is different, then we will need simplified file. Looking at provided file I am not quite sure what to look for, thare is quite a bit of animation and I don't see custom props there.

> In #96459#1334390, @BClark wrote: > yeah no sample file needed... and I answered over there on the thread, it is closed because it is a feature request for a tool not a "bug" . Can you provide link to report here? I guess that would be #65773? > In #96459#1334216, @AgeofGar wrote: > @BClark @iss > Since this is known I'm guessing you no longer need a simplified sample file ? > Let me know if that is the case. If you agree with that issue is because of animated custom properties influencing position, then I should merge this report. If you think the issue is different, then we will need simplified file. Looking at provided file I am not quite sure what to look for, thare is quite a bit of animation and I don't see custom props there.
Member

As far as I know and understand both from this post and my own experience with the same problem, it is due to the properties being animated but not being included in the new action during the bake.

If you look in the file at the image.png Thigh_parent.r you can see this gear object holds the IK/FK switch properties and since those are animated, when it bakes the animation to the pose bones, the result does not include the switches so the result isn't correct unless you also have the original animation of those properties.

As far as I know and understand both from this post and my own experience with the same problem, it is due to the properties being animated but not being included in the new action during the bake. If you look in the file at the ![image.png](https://archive.blender.org/developer/F12969977/image.png) Thigh_parent.r you can see this gear object holds the IK/FK switch properties and since those are animated, when it bakes the animation to the pose bones, the result does not include the switches so the result isn't correct unless you also have the original animation of those properties.
Member

I go through this also in the video I posted https://vimeo.com/503261365

I go through this also in the video I posted https://vimeo.com/503261365
Philipp Oeser removed the
Interest
Animation & Rigging
label 2023-02-09 14:35:10 +01:00
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
4 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#96459
No description provided.