Page MenuHome

Multi-Object-Mode: Pose Tools
Closed, ResolvedPublic


Notes about notation

  • Excluded from Multi-Object Editing - Everything in (parentheses)
  • Priority items (i.e. for Spring migration) - Everything in bold

Notes about approach (25/5)

Talking with the animators here in the studio, it seems that most of the time, animators don't actually want most tools to work with "full" multi-object posing behaviour. So, what we might do here instead is that by default, pose operators still work in the old (single active object) way, with just a few specific exceptions added on a case-by-case basis (as/when desired by animators). Examples here include mouse select tools and basic loc/rot/scale transform tools. Many other tools may be best left as single-object for now.



Note: With these ones, we made the decision to only allow supporting the "active object" as displayed in the UI (where these operators appear). As a result, multi-object editing doesn't actually function with these operators. But also, no further changes are required

  • (POSE_OT_group_add)
  • (POSE_OT_group_remove)
  • POSE_OT_group_unassign
  • POSE_OT_group_assign
  • (POSE_OT_group_move)
  • (POSE_OT_group_sort)
  • POSE_OT_group_select
  • POSE_OT_group_deselect


  • Most operators here are fine, as they don't use the context iterators to loop over bones, and it doesn't make sense to apply Pose Libraries (defined for a single armature) across multiple selected armatures.
  • The one exception here is the ~~POSELIB_OT_pose_add~~ operator, as it needs to use the Whole Character (selected) KeyingSet to determine what bones get added to the library. The one problem with this though is that this keyingset uses the context.selected_pose_bones iterator, which includes bones from multiple active armatures. We'll need a solution here to allow restricting keyingsets without also losing all filtering capabilities in the iterator (i.e. we'd lose the name-filtering used to determine what bones should/shouldn't get included). (done rBc462c43c1a05).
  • POSELIB_OT_action_sanitize
  • POSELIB_OT_apply_pose
  • POSELIB_OT_browse_interactive
  • POSELIB_OT_new
  • POSELIB_OT_pose_move
  • POSELIB_OT_pose_remove
  • POSELIB_OT_pose_rename
  • POSELIB_OT_unlink



(*1) Copy/Paste - These currently don't have any problems working with multi-objects (i..e you don't get wrong bones getting copied/pasted). The only problem is that you can only from and paste to whatever armature is active at the time the operator is invoked. (So, you can copy a pose from one armature and paste it into another without leaving pose mode, as long as both objects are in posemode). So, currently marking these as working.



Related Objects

ConfirmedTO DONone
ResolvedJoshua Leung (aligorith)

Event Timeline

Campbell Barton (campbellbarton) lowered the priority of this task from 90 to Normal.Apr 16 2018, 12:58 PM
Dalai Felinto (dfelinto) changed the task status from Unknown Status to Resolved.Oct 20 2018, 2:23 AM
Dalai Felinto (dfelinto) updated the task description. (Show Details)

You are hereby closed.

Dalai Felinto (dfelinto) changed the task status from Resolved to Unknown Status.Oct 20 2018, 2:24 AM
Dalai Felinto (dfelinto) updated the task description. (Show Details)
Dalai Felinto (dfelinto) changed the task status from Unknown Status to Resolved.Oct 20 2018, 2:34 AM