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

git.blender.org/blender-addons.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'rigify/rigs/biped/leg/ik.py')
-rw-r--r--rigify/rigs/biped/leg/ik.py32
1 files changed, 32 insertions, 0 deletions
diff --git a/rigify/rigs/biped/leg/ik.py b/rigify/rigs/biped/leg/ik.py
index 265b4e32..54869b8e 100644
--- a/rigify/rigs/biped/leg/ik.py
+++ b/rigify/rigs/biped/leg/ik.py
@@ -134,6 +134,8 @@ class Rig:
else:
self.layers = None
+ self.bend_hint = params.bend_hint
+
self.primary_rotation_axis = params.primary_rotation_axis
def generate(self):
@@ -376,6 +378,36 @@ class Rig:
prop["soft_min"] = prop["min"] = 0.0
prop["soft_max"] = prop["max"] = 1.0
+ # Bend direction hint
+ if self.bend_hint:
+ con = shin_p.constraints.new('LIMIT_ROTATION')
+ con.name = "bend_hint"
+ con.owner_space = 'LOCAL'
+ if self.primary_rotation_axis == 'X':
+ con.use_limit_x = True
+ con.min_x = pi / 10
+ con.max_x = pi / 10
+ elif self.primary_rotation_axis == '-X':
+ con.use_limit_x = True
+ con.min_x = -pi / 10
+ con.max_x = -pi / 10
+ elif self.primary_rotation_axis == 'Y':
+ con.use_limit_y = True
+ con.min_y = pi / 10
+ con.max_y = pi / 10
+ elif self.primary_rotation_axis == '-Y':
+ con.use_limit_y = True
+ con.min_y = -pi / 10
+ con.max_y = -pi / 10
+ elif self.primary_rotation_axis == 'Z':
+ con.use_limit_z = True
+ con.min_z = pi / 10
+ con.max_z = pi / 10
+ elif self.primary_rotation_axis == '-Z':
+ con.use_limit_z = True
+ con.min_z = -pi / 10
+ con.max_z = -pi / 10
+
# IK Constraint
con = shin_p.constraints.new('IK')
con.name = "ik"