Page MenuHome

NLA: Evaluate Tweak Strip Within Synced Action Bounds
Needs ReviewPublic

Authored by Wayde Moss (GuiltyGhost) on Apr 26 2020, 3:42 AM.

Details

Summary

This addresses T63675: Placing keyframe outside of NLA Strip frame range while in Tweak Mode no longer possible
For this patch, changes include D7602: NLA: Fix Sync Length due to the dependency but the only file of interest is anim_sys.c

Problem
The animator can not view the NLA result outside of the strip bounds. This is expected behavior. However, if they have flagged the strip to sync with the action bounds then their expectation is for the strip to evaluate based on the action bounds, not the only-updated-on-tweak-exit strip bounds. Further, it's not possible to insert keys outside of the strip bounds. This results in a workflow where the animator must determine the strip bounds before making adjustments to the action. This isn't trivial to determine so it's a trial and error process.

Solution
The NLA system now evaluates the strip based on the action bounds if it's flagged for syncing. Now the animator can freely insert and modify keys outside of the strip bounds. They will never have to touch the strip bounds directly. Changing the evaluation bounds is a simple as moving keys around.

Old: Unable to Insert Keys outside synced strip bounds

New: Able to insert keys outside synced strip bounds

Old: Unable to view NLA result outside synced strip bounds

New: Able to view NLA result outside synced strip bounds

Diff Detail

Repository
rB Blender
Branch
arcpatch-D7533_1 (branched from master)
Build Status
Buildable 7855
Build 7855: arc lint + arc unit

Event Timeline

Wayde Moss (GuiltyGhost) requested review of this revision.Apr 26 2020, 3:43 AM
  • ..accidental code deletion
  • revert unrelated changes
  • include action bounds sync fix dependency
  • for completeness and convenience, might as well include applying the action fix on button press
Wayde Moss (GuiltyGhost) edited the summary of this revision. (Show Details)Sat, May 2, 4:04 AM
Wayde Moss (GuiltyGhost) edited the summary of this revision. (Show Details)