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/legacy')
-rw-r--r--rigify/legacy/rigs/biped/limb_common.py46
-rw-r--r--rigify/legacy/rigs/finger.py13
-rw-r--r--rigify/legacy/rigs/neck_short.py24
-rw-r--r--rigify/legacy/rigs/pitchipoy/limbs/arm.py11
-rw-r--r--rigify/legacy/rigs/pitchipoy/limbs/leg.py10
-rw-r--r--rigify/legacy/rigs/pitchipoy/limbs/paw.py10
-rw-r--r--rigify/legacy/rigs/pitchipoy/limbs/super_limb.py31
-rw-r--r--rigify/legacy/rigs/pitchipoy/super_face.py15
-rw-r--r--rigify/legacy/rigs/pitchipoy/super_finger.py11
-rw-r--r--rigify/legacy/rigs/pitchipoy/super_torso_turbo.py16
-rw-r--r--rigify/legacy/rigs/pitchipoy/tentacle.py12
-rw-r--r--rigify/legacy/rigs/spine.py35
12 files changed, 61 insertions, 173 deletions
diff --git a/rigify/legacy/rigs/biped/limb_common.py b/rigify/legacy/rigs/biped/limb_common.py
index 05e3e59c..75dc3969 100644
--- a/rigify/legacy/rigs/biped/limb_common.py
+++ b/rigify/legacy/rigs/biped/limb_common.py
@@ -19,7 +19,6 @@
from math import pi
import bpy
-from rna_prop_ui import rna_idprop_ui_prop_get
from mathutils import Vector
from ...utils import angle_on_plane, align_bone_roll, align_bone_z_axis
@@ -27,6 +26,7 @@ from ...utils import new_bone, copy_bone, put_bone, make_nonscaling_child
from ...utils import strip_org, make_mechanism_name, make_deformer_name, insert_before_lr
from ...utils import create_widget, create_limb_widget, create_line_widget, create_sphere_widget
+from ....utils.mechanism import make_property
class FKLimb:
def __init__(self, obj, bone1, bone2, bone3, primary_rotation_axis, layers):
@@ -155,17 +155,9 @@ class FKLimb:
# Set up custom properties
if parent is not None:
- prop = rna_idprop_ui_prop_get(ulimb_p, "isolate", create=True)
- ulimb_p["isolate"] = 0.0
- prop["soft_min"] = prop["min"] = 0.0
- prop["soft_max"] = prop["max"] = 1.0
-
- prop = rna_idprop_ui_prop_get(ulimb_p, "stretch_length", create=True)
- ulimb_p["stretch_length"] = 1.0
- prop["min"] = 0.05
- prop["max"] = 20.0
- prop["soft_min"] = 0.25
- prop["soft_max"] = 4.0
+ make_property(ulimb_p, "isolate", 0.0)
+
+ make_property(ulimb_p, "stretch_length", 1.0, min=0.05, max=20.0, soft_min=0.25, soft_max=4.0)
# Stretch drivers
def add_stretch_drivers(pose_bone):
@@ -501,28 +493,13 @@ class IKLimb:
# Set up custom properties
if self.switch is True:
- prop = rna_idprop_ui_prop_get(elimb_p, "ikfk_switch", create=True)
- elimb_p["ikfk_switch"] = 0.0
- prop["soft_min"] = prop["min"] = 0.0
- prop["soft_max"] = prop["max"] = 1.0
+ make_property(elimb_p, "ikfk_switch", 0.0)
if self.pole_parent is not None:
- prop = rna_idprop_ui_prop_get(pole_p, "follow", create=True)
- pole_p["follow"] = 1.0
- prop["soft_min"] = prop["min"] = 0.0
- prop["soft_max"] = prop["max"] = 1.0
-
- prop = rna_idprop_ui_prop_get(elimb_p, "stretch_length", create=True)
- elimb_p["stretch_length"] = 1.0
- prop["min"] = 0.05
- prop["max"] = 20.0
- prop["soft_min"] = 0.25
- prop["soft_max"] = 4.0
-
- prop = rna_idprop_ui_prop_get(elimb_p, "auto_stretch", create=True)
- elimb_p["auto_stretch"] = 1.0
- prop["soft_min"] = prop["min"] = 0.0
- prop["soft_max"] = prop["max"] = 1.0
+ make_property(pole_p, "follow", 1.0)
+
+ make_property(elimb_p, "stretch_length", 1.0, min=0.05, max=20.0, soft_min=0.25, soft_max=4.0)
+ make_property(elimb_p, "auto_stretch", 1.0)
# Stretch parameter drivers
def add_stretch_drivers(pose_bone):
@@ -1096,10 +1073,7 @@ class RubberHoseLimb:
flimb1_smoother_p.bone.bbone_easeout = 1.0
# Custom properties
- prop = rna_idprop_ui_prop_get(jhose_p, "smooth_bend", create=True)
- jhose_p["smooth_bend"] = 0.0
- prop["soft_min"] = prop["min"] = 0.0
- prop["soft_max"] = prop["max"] = 1.0
+ make_property(jhose_p, "smooth_bend", 0.0)
# Constraints
con = ulimb1_p.constraints.new('COPY_LOCATION')
diff --git a/rigify/legacy/rigs/finger.py b/rigify/legacy/rigs/finger.py
index 70bbc112..94684606 100644
--- a/rigify/legacy/rigs/finger.py
+++ b/rigify/legacy/rigs/finger.py
@@ -21,7 +21,6 @@
import re
import bpy
-from rna_prop_ui import rna_idprop_ui_prop_get
from mathutils import Vector
from ..utils import MetarigError
@@ -30,6 +29,7 @@ from ..utils import connected_children_names
from ..utils import strip_org, make_mechanism_name, make_deformer_name
from ..utils import create_widget, create_limb_widget
+from ...utils.mechanism import make_property
class Rig:
""" A finger rig. It takes a single chain of bones.
@@ -187,15 +187,12 @@ class Rig:
for bone in helpers:
# Add custom prop
prop_name = "bend_%02d" % i
- prop = rna_idprop_ui_prop_get(pb[ctrl], prop_name, create=True)
- prop["min"] = 0.0
- prop["max"] = 1.0
- prop["soft_min"] = 0.0
- prop["soft_max"] = 1.0
if i == 1:
- pb[ctrl][prop_name] = 0.0
+ propval = 0.0
else:
- pb[ctrl][prop_name] = val
+ propval = val
+
+ make_property(pb[ctrl], prop_name, propval)
# Add driver
if 'X' in self.primary_rotation_axis:
diff --git a/rigify/legacy/rigs/neck_short.py b/rigify/legacy/rigs/neck_short.py
index 63174d40..e7743ddf 100644
--- a/rigify/legacy/rigs/neck_short.py
+++ b/rigify/legacy/rigs/neck_short.py
@@ -19,7 +19,6 @@
# <pep8 compliant>
import bpy
-from rna_prop_ui import rna_idprop_ui_prop_get
from ..utils import MetarigError
from ..utils import copy_bone, new_bone, put_bone
@@ -27,6 +26,7 @@ from ..utils import connected_children_names
from ..utils import strip_org, make_mechanism_name, make_deformer_name
from ..utils import create_circle_widget
+from ...utils.mechanism import make_property
script1 = """
head_neck = ["%s", "%s"]
@@ -190,27 +190,11 @@ class Rig:
head_ctrl_p.custom_shape_transform = pb[self.org_bones[-1]]
# Custom properties
- prop = rna_idprop_ui_prop_get(head_ctrl_p, "inf_extent", create=True)
- head_ctrl_p["inf_extent"] = 0.5
- prop["min"] = 0.0
- prop["max"] = 1.0
- prop["soft_min"] = 0.0
- prop["soft_max"] = 1.0
-
- prop = rna_idprop_ui_prop_get(head_ctrl_p, "neck_follow", create=True)
- head_ctrl_p["neck_follow"] = 1.0
- prop["min"] = 0.0
- prop["max"] = 2.0
- prop["soft_min"] = 0.0
- prop["soft_max"] = 1.0
+ make_property(head_ctrl_p, "inf_extent", 0.5)
+ make_property(head_ctrl_p, "neck_follow", 1.0, max=2.0, soft_max=1.0)
if self.isolate:
- prop = rna_idprop_ui_prop_get(head_ctrl_p, "isolate", create=True)
- head_ctrl_p["isolate"] = 0.0
- prop["min"] = 0.0
- prop["max"] = 1.0
- prop["soft_min"] = 0.0
- prop["soft_max"] = 1.0
+ make_property(head_ctrl_p, "isolate", 0.0)
# Constraints
diff --git a/rigify/legacy/rigs/pitchipoy/limbs/arm.py b/rigify/legacy/rigs/pitchipoy/limbs/arm.py
index 17bf5535..9de1657a 100644
--- a/rigify/legacy/rigs/pitchipoy/limbs/arm.py
+++ b/rigify/legacy/rigs/pitchipoy/limbs/arm.py
@@ -23,7 +23,8 @@ from ....utils import create_widget, copy_bone
from ....utils import strip_org
from .limb_utils import *
from ..super_widgets import create_hand_widget
-from rna_prop_ui import rna_idprop_ui_prop_get
+
+from .....utils.mechanism import make_property
def create_arm( cls, bones ):
org_bones = cls.org_bones
@@ -81,13 +82,7 @@ def create_arm( cls, bones ):
# Create ik/fk switch property
pb_parent = pb[ bones['parent'] ]
- pb_parent['IK_Strertch'] = 1.0
- prop = rna_idprop_ui_prop_get( pb_parent, 'IK_Strertch', create=True )
- prop["min"] = 0.0
- prop["max"] = 1.0
- prop["soft_min"] = 0.0
- prop["soft_max"] = 1.0
- prop["description"] = 'IK Stretch'
+ prop = make_property(pb_parent, 'IK_Strertch', 1.0, description='IK Stretch')
# Add driver to limit scale constraint influence
b = bones['ik']['mch_str']
diff --git a/rigify/legacy/rigs/pitchipoy/limbs/leg.py b/rigify/legacy/rigs/pitchipoy/limbs/leg.py
index 14fd6f13..96aa1c02 100644
--- a/rigify/legacy/rigs/pitchipoy/limbs/leg.py
+++ b/rigify/legacy/rigs/pitchipoy/limbs/leg.py
@@ -25,6 +25,8 @@ from rna_prop_ui import rna_idprop_ui_prop_get
from ..super_widgets import create_foot_widget, create_ballsocket_widget
from .limb_utils import *
+from .....utils.mechanism import make_property
+
def create_leg( cls, bones ):
org_bones = list(
[cls.org_bones[0]] + connected_children_names(cls.obj, cls.org_bones[0])
@@ -236,13 +238,7 @@ def create_leg( cls, bones ):
# Create ik/fk switch property
pb_parent = pb[ bones['parent'] ]
- pb_parent['IK_Strertch'] = 1.0
- prop = rna_idprop_ui_prop_get( pb_parent, 'IK_Strertch', create=True )
- prop["min"] = 0.0
- prop["max"] = 1.0
- prop["soft_min"] = 0.0
- prop["soft_max"] = 1.0
- prop["description"] = 'IK Stretch'
+ prop = make_property(pb_parent, 'IK_Strertch', 1.0, description='IK Stretch')
# Add driver to limit scale constraint influence
b = bones['ik']['mch_str']
diff --git a/rigify/legacy/rigs/pitchipoy/limbs/paw.py b/rigify/legacy/rigs/pitchipoy/limbs/paw.py
index 03ccd25f..7691007a 100644
--- a/rigify/legacy/rigs/pitchipoy/limbs/paw.py
+++ b/rigify/legacy/rigs/pitchipoy/limbs/paw.py
@@ -25,6 +25,8 @@ from rna_prop_ui import rna_idprop_ui_prop_get
from ..super_widgets import create_foot_widget, create_ballsocket_widget
from .limb_utils import *
+from .....utils.mechanism import make_property
+
def create_paw( cls, bones ):
org_bones = list(
[cls.org_bones[0]] + connected_children_names(cls.obj, cls.org_bones[0])
@@ -105,13 +107,7 @@ def create_paw( cls, bones ):
# Create ik/fk switch property
pb_parent = pb[ bones['parent'] ]
- pb_parent['IK_Strertch'] = 1.0
- prop = rna_idprop_ui_prop_get( pb_parent, 'IK_Strertch', create=True )
- prop["min"] = 0.0
- prop["max"] = 1.0
- prop["soft_min"] = 0.0
- prop["soft_max"] = 1.0
- prop["description"] = 'IK Stretch'
+ prop = make_property(pb_parent, 'IK_Strertch', 1.0, description='IK Stretch')
# Add driver to limit scale constraint influence
b = bones['ik']['mch_str']
diff --git a/rigify/legacy/rigs/pitchipoy/limbs/super_limb.py b/rigify/legacy/rigs/pitchipoy/limbs/super_limb.py
index 11bac486..5852ad46 100644
--- a/rigify/legacy/rigs/pitchipoy/limbs/super_limb.py
+++ b/rigify/legacy/rigs/pitchipoy/limbs/super_limb.py
@@ -10,10 +10,10 @@ from ....utils import strip_org, make_deformer_name, create_widget
from ....utils import create_circle_widget, create_sphere_widget
from ....utils import MetarigError, make_mechanism_name, org
from ....utils import create_limb_widget, connected_children_names
-from rna_prop_ui import rna_idprop_ui_prop_get
from ..super_widgets import create_ikarrow_widget
from math import trunc
+from .....utils.mechanism import make_property
class Rig:
@@ -79,14 +79,7 @@ class Rig:
name = 'FK_limb_follow'
- pb[ mch ][ name ] = 0.0
- prop = rna_idprop_ui_prop_get( pb[ mch ], name, create = True )
-
- prop["min"] = 0.0
- prop["max"] = 1.0
- prop["soft_min"] = 0.0
- prop["soft_max"] = 1.0
- prop["description"] = name
+ make_property(pb[ mch ], name, 0.0)
drv = pb[ mch ].constraints[ 0 ].driver_add("influence").driver
@@ -335,17 +328,11 @@ class Rig:
name = 'rubber_tweak'
if i == trunc( len( tweaks[1:-1] ) / 2 ):
- pb[t][name] = 0.0
+ defval = 0.0
else:
- pb[t][name] = 1.0
-
- prop = rna_idprop_ui_prop_get( pb[t], name, create=True )
+ defval = 1.0
- prop["min"] = 0.0
- prop["max"] = 2.0
- prop["soft_min"] = 0.0
- prop["soft_max"] = 1.0
- prop["description"] = name
+ make_property(pb[t], name, defval, max=2.0, soft_max=1.0)
for j,d in enumerate(def_bones[:-1]):
drvs = {}
@@ -498,13 +485,7 @@ class Rig:
pb_parent = pb[ parent ]
# Create ik/fk switch property
- pb_parent['IK/FK'] = 0.0
- prop = rna_idprop_ui_prop_get( pb_parent, 'IK/FK', create=True )
- prop["min"] = 0.0
- prop["max"] = 1.0
- prop["soft_min"] = 0.0
- prop["soft_max"] = 1.0
- prop["description"] = 'IK/FK Switch'
+ prop = make_property(pb_parent, 'IK/FK', 0.0, description='IK/FK Switch')
# Constrain org to IK and FK bones
iks = [ ik['ctrl']['limb'] ]
diff --git a/rigify/legacy/rigs/pitchipoy/super_face.py b/rigify/legacy/rigs/pitchipoy/super_face.py
index ce593f55..4079309f 100644
--- a/rigify/legacy/rigs/pitchipoy/super_face.py
+++ b/rigify/legacy/rigs/pitchipoy/super_face.py
@@ -4,9 +4,9 @@ from ...utils import copy_bone, flip_bone
from ...utils import org, strip_org, make_deformer_name, connected_children_names, make_mechanism_name
from ...utils import create_circle_widget, create_sphere_widget, create_widget, create_cube_widget
from ...utils import MetarigError
-from rna_prop_ui import rna_idprop_ui_prop_get
from .super_widgets import create_face_widget, create_eye_widget, create_eyes_widget, create_ear_widget, create_jaw_widget, create_teeth_widget
+from ....utils.mechanism import make_property
script = """
all_controls = [%s]
@@ -920,16 +920,11 @@ class Rig:
for bone, prop_name in zip( [ jaw_ctrl, eyes_ctrl ], [ jaw_prop, eyes_prop ] ):
if bone == jaw_ctrl:
- pb[ bone ][ prop_name ] = 0.0
+ defval = 0.0
else:
- pb[ bone ][ prop_name ] = 1.0
-
- prop = rna_idprop_ui_prop_get( pb[ bone ], prop_name )
- prop["min"] = 0.0
- prop["max"] = 1.0
- prop["soft_min"] = 0.0
- prop["soft_max"] = 1.0
- prop["description"] = prop_name
+ defval = 1.0
+
+ make_property(pb[ bone ], prop_name, defval)
# Jaw drivers
mch_jaws = all_bones['mch']['jaw'][1:-1]
diff --git a/rigify/legacy/rigs/pitchipoy/super_finger.py b/rigify/legacy/rigs/pitchipoy/super_finger.py
index 32172542..a1b7a506 100644
--- a/rigify/legacy/rigs/pitchipoy/super_finger.py
+++ b/rigify/legacy/rigs/pitchipoy/super_finger.py
@@ -4,7 +4,8 @@ from ...utils import copy_bone, flip_bone
from ...utils import strip_org, make_deformer_name, connected_children_names, make_mechanism_name
from ...utils import create_circle_widget, create_sphere_widget, create_widget
from ...utils import MetarigError
-from rna_prop_ui import rna_idprop_ui_prop_get
+
+from ....utils.mechanism import make_property
script = """
controls = [%s]
@@ -149,13 +150,7 @@ class Rig:
pb[tip_name].lock_rotation = True,True,True
pb[tip_name].lock_rotation_w = True
- pb_master['finger_curve'] = 0.0
- prop = rna_idprop_ui_prop_get(pb_master, 'finger_curve')
- prop["min"] = 0.0
- prop["max"] = 1.0
- prop["soft_min"] = 0.0
- prop["soft_max"] = 1.0
- prop["description"] = "Rubber hose finger cartoon effect"
+ make_property(pb_master, 'finger_curve', 0.0, description="Rubber hose finger cartoon effect")
# Pose settings
for org, ctrl, deform, mch, mch_drv in zip(self.org_bones, ctrl_chain, def_chain, mch_chain, mch_drv_chain):
diff --git a/rigify/legacy/rigs/pitchipoy/super_torso_turbo.py b/rigify/legacy/rigs/pitchipoy/super_torso_turbo.py
index d9645adb..706b82cf 100644
--- a/rigify/legacy/rigs/pitchipoy/super_torso_turbo.py
+++ b/rigify/legacy/rigs/pitchipoy/super_torso_turbo.py
@@ -4,7 +4,8 @@ from ...utils import copy_bone, flip_bone, put_bone, org
from ...utils import strip_org, make_deformer_name, connected_children_names
from ...utils import create_circle_widget, create_sphere_widget, create_widget
from ...utils import MetarigError, make_mechanism_name, create_cube_widget
-from rna_prop_ui import rna_idprop_ui_prop_get
+
+from ....utils.mechanism import make_property
script = """
controls = [%s]
@@ -518,16 +519,11 @@ class Rig:
for prop in props:
if prop == 'neck_follow':
- torso[prop] = 0.5
+ defval = 0.5
else:
- torso[prop] = 0.0
-
- prop = rna_idprop_ui_prop_get( torso, prop, create=True )
- prop["min"] = 0.0
- prop["max"] = 1.0
- prop["soft_min"] = 0.0
- prop["soft_max"] = 1.0
- prop["description"] = prop
+ defval = 0.0
+
+ make_property(torso, prop, defval)
# driving the follow rotation switches for neck and head
for bone, prop, in zip( owners, props ):
diff --git a/rigify/legacy/rigs/pitchipoy/tentacle.py b/rigify/legacy/rigs/pitchipoy/tentacle.py
index 0d24be16..c3a8c85a 100644
--- a/rigify/legacy/rigs/pitchipoy/tentacle.py
+++ b/rigify/legacy/rigs/pitchipoy/tentacle.py
@@ -4,7 +4,8 @@ from ...utils import strip_org, make_deformer_name, connected_children_names
from ...utils import make_mechanism_name, put_bone, create_sphere_widget
from ...utils import create_widget, create_circle_widget
from ...utils import MetarigError
-from rna_prop_ui import rna_idprop_ui_prop_get
+
+from ....utils.mechanism import make_property
script = """
controls = [%s]
@@ -263,14 +264,7 @@ class Rig:
prop_names = [ prop_name_r, prop_name_s ]
for prop_name in prop_names:
- master_pb[prop_name] = 1.0
-
- prop = rna_idprop_ui_prop_get( master_pb, prop_name )
- prop["min"] = 0.0
- prop["max"] = 1.0
- prop["soft_min"] = 0.0
- prop["soft_max"] = 1.0
- prop["description"] = prop_name
+ make_property(master_pb, prop_name, 1.0)
# driving the MCH follow rotation switch
diff --git a/rigify/legacy/rigs/spine.py b/rigify/legacy/rigs/spine.py
index 680a4ceb..44b9acc8 100644
--- a/rigify/legacy/rigs/spine.py
+++ b/rigify/legacy/rigs/spine.py
@@ -27,7 +27,6 @@ from math import floor
import bpy
from mathutils import Vector
-from rna_prop_ui import rna_idprop_ui_prop_get
from ..utils import MetarigError
from ..utils import copy_bone, new_bone, flip_bone, put_bone
@@ -35,6 +34,8 @@ from ..utils import connected_children_names
from ..utils import strip_org, make_mechanism_name, make_deformer_name
from ..utils import create_circle_widget, create_cube_widget
+from ...utils.mechanism import make_property
+
script = """
main = "%s"
spine = [%s]
@@ -202,20 +203,10 @@ class Rig:
bone = pb[par_name]
# Custom bend_alpha property
- prop = rna_idprop_ui_prop_get(pb[name], "bend_alpha", create=True)
- pb[name]["bend_alpha"] = i / (len(self.org_bones) - 1) # set bend alpha
- prop["min"] = 0.0
- prop["max"] = 1.0
- prop["soft_min"] = 0.0
- prop["soft_max"] = 1.0
+ make_property(pb[name], "bend_alpha", i / (len(self.org_bones) - 1)) # set bend alpha
# Custom auto_rotate
- prop = rna_idprop_ui_prop_get(pb[name], "auto_rotate", create=True)
- pb[name]["auto_rotate"] = 1.0
- prop["min"] = 0.0
- prop["max"] = 1.0
- prop["soft_min"] = 0.0
- prop["soft_max"] = 1.0
+ make_property(pb[name], "auto_rotate", 1.0)
# Constraints
con1 = bone.constraints.new('COPY_TRANSFORMS')
@@ -351,12 +342,11 @@ class Rig:
main_control_p = pb[main_control]
# Custom pivot_slide property
- prop = rna_idprop_ui_prop_get(main_control_p, "pivot_slide", create=True)
- main_control_p["pivot_slide"] = self.pivot_rest
- prop["min"] = 0.0
- prop["max"] = 1.0
- prop["soft_min"] = 1.0 / len(self.org_bones)
- prop["soft_max"] = 1.0 - (1.0 / len(self.org_bones))
+ make_property(
+ main_control_p, "pivot_slide", self.pivot_rest,
+ soft_min = 1.0 / len(self.org_bones),
+ soft_max = 1.0 - (1.0 / len(self.org_bones))
+ )
# Anchor constraints
con = bone_p.constraints.new('COPY_LOCATION')
@@ -408,12 +398,7 @@ class Rig:
for n in range(i + 1, j):
bone = pb[flex_subs[n]]
# Custom bend_alpha property
- prop = rna_idprop_ui_prop_get(bone, "bend_alpha", create=True)
- bone["bend_alpha"] = (n - i) / (j - i) # set bend alpha
- prop["min"] = 0.0
- prop["max"] = 1.0
- prop["soft_min"] = 0.0
- prop["soft_max"] = 1.0
+ make_property(bone, "bend_alpha", (n - i) / (j - i), overridable=False) # set bend alpha
con = bone.constraints.new('COPY_TRANSFORMS')
con.name = "copy_transforms"