diff options
author | Jan-Willem van Dronkelaar <jwvd> | 2021-10-18 15:23:23 +0300 |
---|---|---|
committer | Sybren A. Stüvel <sybren@blender.org> | 2021-10-18 15:36:26 +0300 |
commit | 4de0e2e7717f458b496fdf2b00a724412abb88a0 (patch) | |
tree | 5663c5be55872ce24beb533fd0d8464000fa491e /release | |
parent | f9113c4be836691ba599aab9b2f43e26333f8133 (diff) |
Animation: Motion Paths Refresh All
Adds a button, Update All Paths, to the Motion Paths property tabs and
will always show. The operator goes through all visible objects and
updates their motion paths.
The current implementation has a subtle functional change. Calculating
or updating motion paths for armature objects (through the Object tab,
not Armature tab) now also updates the paths for its bones. We could
preserve the old behavior but it doesn't seem necessary. It seems more
likely that the animator wants to update both anyways.
Reviewed by: sybren
Maniphest Tasks: T83068
Differential Revision: https://developer.blender.org/D11667
Diffstat (limited to 'release')
-rw-r--r-- | release/scripts/startup/bl_ui/properties_animviz.py | 7 | ||||
-rw-r--r-- | release/scripts/startup/bl_ui/space_view3d.py | 2 |
2 files changed, 8 insertions, 1 deletions
diff --git a/release/scripts/startup/bl_ui/properties_animviz.py b/release/scripts/startup/bl_ui/properties_animviz.py index 6c3c1fd1721..92e78cd32b6 100644 --- a/release/scripts/startup/bl_ui/properties_animviz.py +++ b/release/scripts/startup/bl_ui/properties_animviz.py @@ -68,20 +68,25 @@ class MotionPathButtonsPanel: col.prop(mpath, "frame_start", text="Cache From") col.prop(mpath, "frame_end", text="To") - row = layout.row(align=True) + col = layout.column(align=True) + + row = col.row(align=True) if bones: row.operator("pose.paths_update", text="Update Paths", icon='BONE_DATA') row.operator("pose.paths_clear", text="", icon='X') else: row.operator("object.paths_update", text="Update Paths", icon='OBJECT_DATA') row.operator("object.paths_clear", text="", icon='X') + col.operator("object.paths_update_visible", text="Update All Paths", icon="WORLD") else: col = layout.column(align=True) col.label(text="Nothing to show yet...", icon='ERROR') + if bones: col.operator("pose.paths_calculate", text="Calculate...", icon='BONE_DATA') else: col.operator("object.paths_calculate", text="Calculate...", icon='OBJECT_DATA') + col.operator("object.paths_update_visible", text="Update All Paths", icon="WORLD") class MotionPathButtonsPanel_display: diff --git a/release/scripts/startup/bl_ui/space_view3d.py b/release/scripts/startup/bl_ui/space_view3d.py index 64652dc8ff8..1808287f7a9 100644 --- a/release/scripts/startup/bl_ui/space_view3d.py +++ b/release/scripts/startup/bl_ui/space_view3d.py @@ -3601,6 +3601,8 @@ class VIEW3D_MT_pose_context_menu(Menu): layout.operator("pose.paths_calculate", text="Calculate Motion Paths") layout.operator("pose.paths_clear", text="Clear Motion Paths") + layout.operator("pose.paths_update", text="Update Armature Motion Paths") + layout.operator("object.paths_update_visible", text="Update All Motion Paths") layout.separator() |