Rigify: make world orientation the default for IK control location.

For backward compatibility the option technically defaults to
old behavior, but all metarigs are changed to the new mode.
This commit is contained in:
Alexander Gavrilov 2022-02-11 23:36:26 +03:00
parent 7120e9c9e0
commit c268b58c24
11 changed files with 170 additions and 10 deletions

View File

@ -788,7 +788,7 @@ def create(obj):
except AttributeError:
pass
pbone = obj.pose.bones[bones['thigh.L']]
pbone.rigify_type = 'limbs.super_limb'
pbone.rigify_type = 'limbs.paw'
pbone.lock_location = (False, False, False)
pbone.lock_rotation = (False, False, False)
pbone.lock_rotation_w = False
@ -799,6 +799,10 @@ def create(obj):
pbone.rigify_parameters.limb_type = "paw"
except AttributeError:
pass
try:
pbone.rigify_parameters.ik_local_location = False
except AttributeError:
pass
try:
pbone.rigify_parameters.tweak_layers = [False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False]
except AttributeError:
@ -808,7 +812,7 @@ def create(obj):
except AttributeError:
pass
pbone = obj.pose.bones[bones['thigh.R']]
pbone.rigify_type = 'limbs.super_limb'
pbone.rigify_type = 'limbs.paw'
pbone.lock_location = (False, False, False)
pbone.lock_rotation = (False, False, False)
pbone.lock_rotation_w = False
@ -819,6 +823,10 @@ def create(obj):
pbone.rigify_parameters.limb_type = "paw"
except AttributeError:
pass
try:
pbone.rigify_parameters.ik_local_location = False
except AttributeError:
pass
try:
pbone.rigify_parameters.tweak_layers = [False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False]
except AttributeError:

View File

@ -1485,7 +1485,7 @@ def create(obj):
pbone.rotation_mode = 'QUATERNION'
pbone.bone.layers = [False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False]
pbone = obj.pose.bones[bones['thigh.L']]
pbone.rigify_type = 'limbs.super_limb'
pbone.rigify_type = 'limbs.rear_paw'
pbone.lock_location = (False, False, False)
pbone.lock_rotation = (False, False, False)
pbone.lock_rotation_w = False
@ -1496,6 +1496,10 @@ def create(obj):
pbone.rigify_parameters.limb_type = "paw"
except AttributeError:
pass
try:
pbone.rigify_parameters.ik_local_location = False
except AttributeError:
pass
try:
pbone.rigify_parameters.fk_layers = [False, False, False, False, False, False, False, False, False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False]
except AttributeError:
@ -1509,7 +1513,7 @@ def create(obj):
except AttributeError:
pass
pbone = obj.pose.bones[bones['thigh.R']]
pbone.rigify_type = 'limbs.super_limb'
pbone.rigify_type = 'limbs.rear_paw'
pbone.lock_location = (False, False, False)
pbone.lock_rotation = (False, False, False)
pbone.lock_rotation_w = False
@ -1520,6 +1524,10 @@ def create(obj):
pbone.rigify_parameters.limb_type = "paw"
except AttributeError:
pass
try:
pbone.rigify_parameters.ik_local_location = False
except AttributeError:
pass
try:
pbone.rigify_parameters.fk_layers = [False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False]
except AttributeError:
@ -1653,7 +1661,7 @@ def create(obj):
pbone.rotation_mode = 'QUATERNION'
pbone.bone.layers = [False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False]
pbone = obj.pose.bones[bones['upper_arm.L']]
pbone.rigify_type = 'limbs.super_limb'
pbone.rigify_type = 'limbs.front_paw'
pbone.lock_location = (False, False, False)
pbone.lock_rotation = (False, False, False)
pbone.lock_rotation_w = False
@ -1664,6 +1672,10 @@ def create(obj):
pbone.rigify_parameters.limb_type = "paw"
except AttributeError:
pass
try:
pbone.rigify_parameters.ik_local_location = False
except AttributeError:
pass
try:
pbone.rigify_parameters.fk_layers = [False, False, False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False]
except AttributeError:
@ -1673,7 +1685,7 @@ def create(obj):
except AttributeError:
pass
pbone = obj.pose.bones[bones['upper_arm.R']]
pbone.rigify_type = 'limbs.super_limb'
pbone.rigify_type = 'limbs.front_paw'
pbone.lock_location = (False, False, False)
pbone.lock_rotation = (False, False, False)
pbone.lock_rotation_w = False
@ -1688,6 +1700,10 @@ def create(obj):
pbone.rigify_parameters.tweak_layers = [False, False, False, False, False, False, False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False]
except AttributeError:
pass
try:
pbone.rigify_parameters.ik_local_location = False
except AttributeError:
pass
try:
pbone.rigify_parameters.limb_type = "paw"
except AttributeError:

View File

@ -804,6 +804,10 @@ def create(obj):
pbone.rigify_parameters.segments = 2
except AttributeError:
pass
try:
pbone.rigify_parameters.ik_local_location = False
except AttributeError:
pass
try:
pbone.rigify_parameters.bbones = 10
except AttributeError:
@ -836,6 +840,10 @@ def create(obj):
pbone.rigify_parameters.segments = 2
except AttributeError:
pass
try:
pbone.rigify_parameters.ik_local_location = False
except AttributeError:
pass
try:
pbone.rigify_parameters.bbones = 10
except AttributeError:
@ -1004,6 +1012,10 @@ def create(obj):
pbone.rigify_parameters.limb_type = "paw"
except AttributeError:
pass
try:
pbone.rigify_parameters.ik_local_location = False
except AttributeError:
pass
try:
pbone.rigify_parameters.fk_layers = [False, False, False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False]
except AttributeError:
@ -1028,6 +1040,10 @@ def create(obj):
pbone.rigify_parameters.limb_type = "paw"
except AttributeError:
pass
try:
pbone.rigify_parameters.ik_local_location = False
except AttributeError:
pass
try:
pbone.rigify_parameters.fk_layers = [False, False, False, False, False, False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False]
except AttributeError:

View File

@ -1608,6 +1608,10 @@ def create(obj):
pbone.rigify_parameters.limb_type = "paw"
except AttributeError:
pass
try:
pbone.rigify_parameters.ik_local_location = False
except AttributeError:
pass
try:
pbone.rigify_parameters.fk_layers = [False, False, False, False, False, False, False, False, False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False]
except AttributeError:
@ -1636,6 +1640,10 @@ def create(obj):
pbone.rigify_parameters.limb_type = "paw"
except AttributeError:
pass
try:
pbone.rigify_parameters.ik_local_location = False
except AttributeError:
pass
pbone = obj.pose.bones[bones['spine.001']]
pbone.rigify_type = ''
pbone.lock_location = (False, False, False)
@ -1800,6 +1808,10 @@ def create(obj):
pbone.rigify_parameters.limb_type = "paw"
except AttributeError:
pass
try:
pbone.rigify_parameters.ik_local_location = False
except AttributeError:
pass
try:
pbone.rigify_parameters.fk_layers = [False, False, False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False]
except AttributeError:
@ -1820,6 +1832,10 @@ def create(obj):
pbone.rigify_parameters.limb_type = "paw"
except AttributeError:
pass
try:
pbone.rigify_parameters.ik_local_location = False
except AttributeError:
pass
try:
pbone.rigify_parameters.fk_layers = [False, False, False, False, False, False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False]
except AttributeError:

View File

@ -433,6 +433,10 @@ def create(obj):
pbone.rigify_parameters.extra_ik_toe = True
except AttributeError:
pass
try:
pbone.rigify_parameters.ik_local_location = False
except AttributeError:
pass
try:
pbone.rigify_parameters.fk_layers = [False, False, False, False, False, False, False, False, False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False]
except AttributeError:
@ -465,6 +469,10 @@ def create(obj):
pbone.rigify_parameters.extra_ik_toe = True
except AttributeError:
pass
try:
pbone.rigify_parameters.ik_local_location = False
except AttributeError:
pass
pbone = obj.pose.bones[bones['spine.002']]
pbone.rigify_type = ''
pbone.lock_location = (False, False, False)
@ -625,6 +633,10 @@ def create(obj):
pbone.lock_scale = (False, False, False)
pbone.rotation_mode = 'QUATERNION'
pbone.bone.layers = [False, False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False]
try:
pbone.rigify_parameters.ik_local_location = False
except AttributeError:
pass
try:
pbone.rigify_parameters.tweak_layers = [False, False, False, False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False]
except AttributeError:
@ -641,6 +653,10 @@ def create(obj):
pbone.lock_scale = (False, False, False)
pbone.rotation_mode = 'QUATERNION'
pbone.bone.layers = [False, False, False, False, False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False]
try:
pbone.rigify_parameters.ik_local_location = False
except AttributeError:
pass
try:
pbone.rigify_parameters.tweak_layers = [False, False, False, False, False, False, False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False]
except AttributeError:

View File

@ -505,7 +505,7 @@ def create(obj):
except AttributeError:
pass
pbone = obj.pose.bones[bones['thigh.L']]
pbone.rigify_type = 'limbs.super_limb'
pbone.rigify_type = 'limbs.rear_paw'
pbone.lock_location = (False, False, False)
pbone.lock_rotation = (False, False, False)
pbone.lock_rotation_w = False
@ -516,6 +516,10 @@ def create(obj):
pbone.rigify_parameters.limb_type = "paw"
except AttributeError:
pass
try:
pbone.rigify_parameters.ik_local_location = False
except AttributeError:
pass
try:
pbone.rigify_parameters.fk_layers = [False, False, False, False, False, False, False, False, False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False]
except AttributeError:
@ -525,7 +529,7 @@ def create(obj):
except AttributeError:
pass
pbone = obj.pose.bones[bones['thigh.R']]
pbone.rigify_type = 'limbs.super_limb'
pbone.rigify_type = 'limbs.rear_paw'
pbone.lock_location = (False, False, False)
pbone.lock_rotation = (False, False, False)
pbone.lock_rotation_w = False
@ -544,6 +548,10 @@ def create(obj):
pbone.rigify_parameters.limb_type = "paw"
except AttributeError:
pass
try:
pbone.rigify_parameters.ik_local_location = False
except AttributeError:
pass
pbone = obj.pose.bones[bones['spine.007']]
pbone.rigify_type = ''
pbone.lock_location = (False, False, False)
@ -681,7 +689,7 @@ def create(obj):
pbone.rotation_mode = 'QUATERNION'
pbone.bone.layers = [False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False]
pbone = obj.pose.bones[bones['front_thigh.L']]
pbone.rigify_type = 'limbs.super_limb'
pbone.rigify_type = 'limbs.front_paw'
pbone.lock_location = (False, False, False)
pbone.lock_rotation = (False, False, False)
pbone.lock_rotation_w = False
@ -692,6 +700,10 @@ def create(obj):
pbone.rigify_parameters.limb_type = "paw"
except AttributeError:
pass
try:
pbone.rigify_parameters.ik_local_location = False
except AttributeError:
pass
try:
pbone.rigify_parameters.fk_layers = [False, False, False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False]
except AttributeError:
@ -701,7 +713,7 @@ def create(obj):
except AttributeError:
pass
pbone = obj.pose.bones[bones['front_thigh.R']]
pbone.rigify_type = 'limbs.super_limb'
pbone.rigify_type = 'limbs.front_paw'
pbone.lock_location = (False, False, False)
pbone.lock_rotation = (False, False, False)
pbone.lock_rotation_w = False
@ -712,6 +724,10 @@ def create(obj):
pbone.rigify_parameters.limb_type = "paw"
except AttributeError:
pass
try:
pbone.rigify_parameters.ik_local_location = False
except AttributeError:
pass
try:
pbone.rigify_parameters.fk_layers = [False, False, False, False, False, False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False]
except AttributeError:

View File

@ -1343,6 +1343,10 @@ def create(obj):
pbone.rigify_parameters.extra_ik_toe = True
except AttributeError:
pass
try:
pbone.rigify_parameters.ik_local_location = False
except AttributeError:
pass
try:
pbone.rigify_parameters.fk_layers = [False, False, False, False, False, False, False, False, False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False]
except AttributeError:
@ -1375,6 +1379,10 @@ def create(obj):
pbone.rigify_parameters.extra_ik_toe = True
except AttributeError:
pass
try:
pbone.rigify_parameters.ik_local_location = False
except AttributeError:
pass
pbone = obj.pose.bones[bones['spine.002']]
pbone.rigify_type = ''
pbone.lock_location = (False, False, False)
@ -1535,6 +1543,10 @@ def create(obj):
pbone.lock_scale = (False, False, False)
pbone.rotation_mode = 'QUATERNION'
pbone.bone.layers = [False, False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False]
try:
pbone.rigify_parameters.ik_local_location = False
except AttributeError:
pass
try:
pbone.rigify_parameters.tweak_layers = [False, False, False, False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False]
except AttributeError:
@ -1551,6 +1563,10 @@ def create(obj):
pbone.lock_scale = (False, False, False)
pbone.rotation_mode = 'QUATERNION'
pbone.bone.layers = [False, False, False, False, False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False]
try:
pbone.rigify_parameters.ik_local_location = False
except AttributeError:
pass
try:
pbone.rigify_parameters.tweak_layers = [False, False, False, False, False, False, False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False]
except AttributeError:
@ -1987,6 +2003,10 @@ def create(obj):
pbone.lock_scale = (False, False, False)
pbone.rotation_mode = 'QUATERNION'
pbone.bone.layers = [False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False]
try:
pbone.rigify_parameters.ik_local_location = False
except AttributeError:
pass
try:
pbone.rigify_parameters.tweak_extra_layers = True
except AttributeError:
@ -2003,6 +2023,10 @@ def create(obj):
pbone.lock_scale = (False, False, False)
pbone.rotation_mode = 'QUATERNION'
pbone.bone.layers = [False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False]
try:
pbone.rigify_parameters.ik_local_location = False
except AttributeError:
pass
try:
pbone.rigify_parameters.tweak_extra_layers = True
except AttributeError:
@ -2019,6 +2043,10 @@ def create(obj):
pbone.lock_scale = (False, False, False)
pbone.rotation_mode = 'QUATERNION'
pbone.bone.layers = [False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False]
try:
pbone.rigify_parameters.ik_local_location = False
except AttributeError:
pass
try:
pbone.rigify_parameters.tweak_extra_layers = True
except AttributeError:
@ -2035,6 +2063,10 @@ def create(obj):
pbone.lock_scale = (False, False, False)
pbone.rotation_mode = 'QUATERNION'
pbone.bone.layers = [False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False]
try:
pbone.rigify_parameters.ik_local_location = False
except AttributeError:
pass
try:
pbone.rigify_parameters.tweak_extra_layers = True
except AttributeError:
@ -2051,6 +2083,10 @@ def create(obj):
pbone.lock_scale = (False, False, False)
pbone.rotation_mode = 'QUATERNION'
pbone.bone.layers = [False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False]
try:
pbone.rigify_parameters.ik_local_location = False
except AttributeError:
pass
try:
pbone.rigify_parameters.tweak_extra_layers = True
except AttributeError:
@ -2067,6 +2103,10 @@ def create(obj):
pbone.lock_scale = (False, False, False)
pbone.rotation_mode = 'QUATERNION'
pbone.bone.layers = [False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False]
try:
pbone.rigify_parameters.ik_local_location = False
except AttributeError:
pass
try:
pbone.rigify_parameters.tweak_extra_layers = True
except AttributeError:
@ -2083,6 +2123,10 @@ def create(obj):
pbone.lock_scale = (False, False, False)
pbone.rotation_mode = 'QUATERNION'
pbone.bone.layers = [False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False]
try:
pbone.rigify_parameters.ik_local_location = False
except AttributeError:
pass
try:
pbone.rigify_parameters.tweak_extra_layers = True
except AttributeError:
@ -2099,6 +2143,10 @@ def create(obj):
pbone.lock_scale = (False, False, False)
pbone.rotation_mode = 'QUATERNION'
pbone.bone.layers = [False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False]
try:
pbone.rigify_parameters.ik_local_location = False
except AttributeError:
pass
try:
pbone.rigify_parameters.tweak_extra_layers = True
except AttributeError:
@ -2115,6 +2163,10 @@ def create(obj):
pbone.lock_scale = (False, False, False)
pbone.rotation_mode = 'QUATERNION'
pbone.bone.layers = [False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False]
try:
pbone.rigify_parameters.ik_local_location = False
except AttributeError:
pass
try:
pbone.rigify_parameters.tweak_extra_layers = True
except AttributeError:
@ -2131,6 +2183,10 @@ def create(obj):
pbone.lock_scale = (False, False, False)
pbone.rotation_mode = 'QUATERNION'
pbone.bone.layers = [False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False]
try:
pbone.rigify_parameters.ik_local_location = False
except AttributeError:
pass
try:
pbone.rigify_parameters.tweak_extra_layers = True
except AttributeError:

View File

@ -164,6 +164,10 @@ def create_sample(obj, limb=False):
pbone.rigify_parameters.fk_layers = [False, False, False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False]
except AttributeError:
pass
try:
pbone.rigify_parameters.ik_local_location = False
except AttributeError:
pass
pbone = obj.pose.bones[bones['forearm.L']]
pbone.rigify_type = ''
pbone.lock_location = (False, False, False)

View File

@ -461,6 +461,10 @@ def create_sample(obj):
pbone.rigify_parameters.extra_ik_toe = True
except AttributeError:
pass
try:
pbone.rigify_parameters.ik_local_location = False
except AttributeError:
pass
pbone = obj.pose.bones[bones['shin.L']]
pbone.rigify_type = ''
pbone.lock_location = (False, False, False)

View File

@ -326,6 +326,10 @@ def create_sample(obj):
pbone.rigify_parameters.limb_type = "paw"
except AttributeError:
pass
try:
pbone.rigify_parameters.ik_local_location = False
except AttributeError:
pass
pbone = obj.pose.bones[bones['shin.L']]
pbone.rigify_type = ''
pbone.lock_location = (False, False, False)

View File

@ -638,6 +638,10 @@ def create_sample(obj):
pbone.rigify_parameters.tweak_extra_layers = False
except AttributeError:
pass
try:
pbone.rigify_parameters.ik_local_location = False
except AttributeError:
pass
pbone = obj.pose.bones[bones['f_pinky.02.L']]
pbone.rigify_type = ''
pbone.lock_location = (False, False, False)