Layered Action - Join Animation / Move Slot #126937

Open
opened 2024-08-29 15:51:08 +02:00 by Christoph Lendenfeld · 0 comments

From this brainstorm document: https://hackmd.io/@anim-rigging/r170e_6PC#Merge-actions

General Functionality

Move the animation for an object from one Action to another.
This implies copying/moving the Slot.
The slot is moved if there is only 1 user, else it is copied.
The user needs to be pointed to the correct action afterwards.

Naming

Using the word "Join" instead of "Merge" to mimic the "Join" operator in the 3D viewport.
I propose the operator name "Join Animation" over "Join Actions". The latter implies that all slots of the action are moved over and its users re-assigned. This could be a useful operator at some point, but doesn't play nicely with the concept of "I want to move the Animation of this Armature to this action" which implied moving only the slot.

From the 3D viewport

Pros Cons
easily accessible, close to where animators work unclear what data is joined
allows artists to select by visual representation lack of immediate visual feedback after joining
- not all data is selectable in the 3D viewport

Proposed usage

  • Select 1 - n objects
  • Run the operator
  • Animation is joined into the action of the active object

Selecting 1 object and Joining could be valid if there is an action on object and data that the user wants to merge.

PR: #127414

Open Questions

  • From which data should the actions be joined (object, mesh, armature, material, nodetree...)
  • Assuming the joining targets the active object, and it has multiple actions (e.g. object and material) which is chosen. Or if there is no action on the object, should a data action be chose and with which priority?

From the Outliner

Prototype: #126839: WIP: Anim: Drag and drop for actions in the outliner

Pros Cons
Access to all data via the different views out of the way for animators
visual way of managing data ownership selecting by name instead of shape (requires things to be named reasonably)
Immediate visual feedback after joining -

Proposed Usage

  • Drag and drop an action onto a different action

Open Questions

  • The proposed interaction is probably confusing considering we are not actually merging actions. We could easily drag and drop the slot, but I am not sure this is any less confusing.
  • Drag and drop is hard to discover

From the Dope Sheet / Graph Editor

  • The concept of active channel doesn't really exist. It is the data represented by the channel that can be active, e.g. active FCurve.
Pros Cons
It is an animator editor No drag and drop built for the channel box
Immediate visual feedback Slots only shown in action editor (Not sure if that is an issue)
- Relies on anim filtering code
- To show some animation data, "Only show selected" needs to be disabled

Proposed Usage

  • Select Channels
  • From the menu or hotkey run an operator
  • data is merged into the active action channel (non action channels are ignored)
From this brainstorm document: https://hackmd.io/@anim-rigging/r170e_6PC#Merge-actions # General Functionality Move the animation for an object from one Action to another. This implies copying/moving the Slot. The slot is moved if there is only 1 user, else it is copied. The user needs to be pointed to the correct action afterwards. # Naming Using the word "Join" instead of "Merge" to mimic the "Join" operator in the 3D viewport. I propose the operator name "Join Animation" over "Join Actions". The latter implies that all slots of the action are moved over and its users re-assigned. This could be a useful operator at some point, but doesn't play nicely with the concept of "I want to move the Animation of this Armature to this action" which implied moving only the slot. # From the 3D viewport | Pros | Cons | | - | - | | easily accessible, close to where animators work | unclear what data is joined | | allows artists to select by visual representation | lack of immediate visual feedback after joining | | - | not all data is selectable in the 3D viewport ## Proposed usage * Select 1 - n objects * Run the operator * Animation is joined into the action of the active object Selecting 1 object and Joining could be valid if there is an action on object and data that the user wants to merge. PR: #127414 ## Open Questions * From which data should the actions be joined (object, mesh, armature, material, nodetree...) * Assuming the joining targets the active object, and it has multiple actions (e.g. object and material) which is chosen. Or if there is no action on the object, should a data action be chose and with which priority? # From the Outliner Prototype: [#126839: WIP: Anim: Drag and drop for actions in the outliner](https://projects.blender.org/blender/blender/pulls/126839) | Pros | Cons | | - | - | | Access to all data via the different views | out of the way for animators | | visual way of managing data ownership | selecting by name instead of shape (requires things to be named reasonably) | | Immediate visual feedback after joining | - | ## Proposed Usage * Drag and drop an action onto a different action ## Open Questions * The proposed interaction is probably confusing considering we are not actually merging actions. We could easily drag and drop the slot, but I am not sure this is any less confusing. * Drag and drop is hard to discover ## From the Dope Sheet / Graph Editor * The concept of active channel doesn't really exist. It is the data represented by the channel that can be active, e.g. active FCurve. | Pros | Cons | | - | - | | It is an animator editor | No drag and drop built for the channel box | | Immediate visual feedback | Slots only shown in action editor (Not sure if that is an issue) | | - | Relies on anim filtering code | | - | To show some animation data, "Only show selected" needs to be disabled | ## Proposed Usage * Select Channels * From the menu or hotkey run an operator * data is merged into the active action channel (non action channels are ignored)
Christoph Lendenfeld added the
Type
Design
Module
Animation & Rigging
labels 2024-08-29 15:51:18 +02:00
Christoph Lendenfeld changed title from Layered Action - Join / Separate to Layered Action - Join 2024-08-29 17:09:19 +02:00
Christoph Lendenfeld changed title from Layered Action - Join to Layered Action - Join Animation / Move Slot 2024-08-29 17:26:05 +02:00
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset System
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
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
Viewport & EEVEE
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Asset Browser Project
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
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
Module
Viewport & EEVEE
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Severity
High
Severity
Low
Severity
Normal
Severity
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
1 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#126937
No description provided.