Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSybren A. Stüvel <sybren@stuvel.eu>2019-05-08 11:57:17 +0300
committerSybren A. Stüvel <sybren@stuvel.eu>2019-05-08 11:57:17 +0300
commit08012ebeec74baa6037c88c7c75de0962e4a1b74 (patch)
tree261d13a4ef49de3e66d487308db253ae5aa1a068 /release/scripts/startup/bl_ui/properties_constraint.py
parent951396a9bdafec0b641196a108198f9fa63e16b8 (diff)
Disable Constraint and Keep Transform
A 'Disable and Keep Transform' button for constraints was added. This allows animators to disable a constraint without moving the constrained object/bone, making it easier to toggle constriants on and off without any visual consequence. Typical usage would be a character picking up an object (enable 'Copy Transform' constraint) and placing it somewhere else (disable the constraint). Note that there could still be movement when there are muliple constraints active. For example, when using this constraint stack - #1: Copy Transform from Empty.001 - #2: Copy Rotation from Empty.002 and disabling constraint #2, constraint #1 is still active and will still modify the visual transform of the object. According to our in-house animators, this is expected behaviour. Reviewers: campbellbarton, dfelinto, sergey Reviewed By: campbellbarton Subscribers: brecht Tags: #animation Differential Revision: https://developer.blender.org/D4677
Diffstat (limited to 'release/scripts/startup/bl_ui/properties_constraint.py')
-rw-r--r--release/scripts/startup/bl_ui/properties_constraint.py12
1 files changed, 11 insertions, 1 deletions
diff --git a/release/scripts/startup/bl_ui/properties_constraint.py b/release/scripts/startup/bl_ui/properties_constraint.py
index f5b36d6cfd0..310d35c6179 100644
--- a/release/scripts/startup/bl_ui/properties_constraint.py
+++ b/release/scripts/startup/bl_ui/properties_constraint.py
@@ -34,8 +34,18 @@ class ConstraintButtonsPanel:
# match enum type to our functions, avoids a lookup table.
getattr(self, con.type)(context, box, con)
- if con.type not in {'RIGID_BODY_JOINT', 'NULL'}:
+ if con.type in {'RIGID_BODY_JOINT', 'NULL'}:
+ return
+
+ if con.type in {'IK', 'SPLINE_IK'}:
+ # constraint.disable_keep_transform doesn't work well
+ # for these constraints.
box.prop(con, "influence")
+ else:
+ row = box.row(align=True)
+ row.prop(con, "influence")
+ row.operator("constraint.disable_keep_transform",
+ text='', icon='CANCEL')
@staticmethod
def space_template(layout, con, target=True, owner=True):