diff options
author | Alexander Gavrilov <angavrilov@gmail.com> | 2019-10-15 16:50:44 +0300 |
---|---|---|
committer | Alexander Gavrilov <angavrilov@gmail.com> | 2019-10-15 17:02:38 +0300 |
commit | dd723151763d8ee3b5c2c94f6c4b5c1ac43b8b59 (patch) | |
tree | 5a15f3067134c18a249df434b1feb6587080900e /rigify/metarigs | |
parent | f4c101d692eee45484025762d77df751538d0da4 (diff) |
Rigify: implement FK controls for basic_spine with an option to disable.
All metarigs are updated to use split spine components, as super_spine
is deprecated and won't generate FK controls for backward compatibility.
Diffstat (limited to 'rigify/metarigs')
-rw-r--r-- | rigify/metarigs/Animals/bird.py | 188 | ||||
-rw-r--r-- | rigify/metarigs/Animals/cat.py | 146 | ||||
-rw-r--r-- | rigify/metarigs/Animals/horse.py | 191 | ||||
-rw-r--r-- | rigify/metarigs/Animals/shark.py | 276 | ||||
-rw-r--r-- | rigify/metarigs/Animals/wolf.py | 154 | ||||
-rw-r--r-- | rigify/metarigs/Basic/basic_human.py | 18 | ||||
-rw-r--r-- | rigify/metarigs/Basic/basic_quadruped.py | 122 | ||||
-rw-r--r-- | rigify/metarigs/human.py | 18 |
8 files changed, 574 insertions, 539 deletions
diff --git a/rigify/metarigs/Animals/bird.py b/rigify/metarigs/Animals/bird.py index a3331c29..5b4bdace 100644 --- a/rigify/metarigs/Animals/bird.py +++ b/rigify/metarigs/Animals/bird.py @@ -165,47 +165,19 @@ def create(obj): bones = {} - bone = arm.edit_bones.new('spine') - bone.head[:] = -0.0000, 0.1371, 0.0894 - bone.tail[:] = -0.0000, 0.1039, 0.0907 + bone = arm.edit_bones.new('spine.003') + bone.head[:] = -0.0000, 0.0451, 0.0845 + bone.tail[:] = -0.0000, 0.0192, 0.0888 bone.roll = 0.0000 bone.use_connect = False - bones['spine'] = bone.name - bone = arm.edit_bones.new('spine.001') - bone.head[:] = -0.0000, 0.1039, 0.0907 + bones['spine.003'] = bone.name + bone = arm.edit_bones.new('spine.002') + bone.head[:] = -0.0000, 0.0451, 0.0845 bone.tail[:] = -0.0000, 0.0757, 0.0880 bone.roll = 0.0000 - bone.use_connect = True - bone.parent = arm.edit_bones[bones['spine']] - bones['spine.001'] = bone.name - bone = arm.edit_bones.new('t_feather.L') - bone.head[:] = 0.0112, 0.1017, 0.0907 - bone.tail[:] = 0.0167, 0.1345, 0.0894 - bone.roll = 0.0032 - bone.use_connect = False - bone.parent = arm.edit_bones[bones['spine']] - bones['t_feather.L'] = bone.name - bone = arm.edit_bones.new('t_feather.R') - bone.head[:] = -0.0112, 0.1017, 0.0907 - bone.tail[:] = -0.0167, 0.1345, 0.0894 - bone.roll = -0.0032 bone.use_connect = False - bone.parent = arm.edit_bones[bones['spine']] - bones['t_feather.R'] = bone.name - bone = arm.edit_bones.new('spine.002') - bone.head[:] = -0.0000, 0.0757, 0.0880 - bone.tail[:] = -0.0000, 0.0451, 0.0845 - bone.roll = 0.0000 - bone.use_connect = True - bone.parent = arm.edit_bones[bones['spine.001']] + bone.parent = arm.edit_bones[bones['spine.003']] bones['spine.002'] = bone.name - bone = arm.edit_bones.new('spine.003') - bone.head[:] = -0.0000, 0.0451, 0.0845 - bone.tail[:] = -0.0000, 0.0192, 0.0888 - bone.roll = 0.0000 - bone.use_connect = True - bone.parent = arm.edit_bones[bones['spine.002']] - bones['spine.003'] = bone.name bone = arm.edit_bones.new('spine.004') bone.head[:] = -0.0000, 0.0192, 0.0888 bone.tail[:] = -0.0000, -0.0106, 0.0979 @@ -213,6 +185,13 @@ def create(obj): bone.use_connect = True bone.parent = arm.edit_bones[bones['spine.003']] bones['spine.004'] = bone.name + bone = arm.edit_bones.new('spine.001') + bone.head[:] = -0.0000, 0.0757, 0.0880 + bone.tail[:] = -0.0000, 0.1039, 0.0907 + bone.roll = 0.0000 + bone.use_connect = True + bone.parent = arm.edit_bones[bones['spine.002']] + bones['spine.001'] = bone.name bone = arm.edit_bones.new('spine.005') bone.head[:] = -0.0000, -0.0106, 0.0979 bone.tail[:] = -0.0000, -0.0298, 0.1158 @@ -248,6 +227,13 @@ def create(obj): bone.use_connect = False bone.parent = arm.edit_bones[bones['spine.004']] bones['thigh.R'] = bone.name + bone = arm.edit_bones.new('spine') + bone.head[:] = -0.0000, 0.1039, 0.0907 + bone.tail[:] = -0.0000, 0.1371, 0.0894 + bone.roll = 0.0000 + bone.use_connect = True + bone.parent = arm.edit_bones[bones['spine.001']] + bones['spine'] = bone.name bone = arm.edit_bones.new('shoulder.L') bone.head[:] = 0.0014, -0.0217, 0.0893 bone.tail[:] = 0.0076, -0.0020, 0.1179 @@ -283,6 +269,20 @@ def create(obj): bone.use_connect = True bone.parent = arm.edit_bones[bones['thigh.R']] bones['shin.R'] = bone.name + bone = arm.edit_bones.new('t_feather.L') + bone.head[:] = 0.0112, 0.1017, 0.0907 + bone.tail[:] = 0.0167, 0.1345, 0.0894 + bone.roll = 0.0032 + bone.use_connect = False + bone.parent = arm.edit_bones[bones['spine']] + bones['t_feather.L'] = bone.name + bone = arm.edit_bones.new('t_feather.R') + bone.head[:] = -0.0112, 0.1017, 0.0907 + bone.tail[:] = -0.0167, 0.1345, 0.0894 + bone.roll = -0.0032 + bone.use_connect = False + bone.parent = arm.edit_bones[bones['spine']] + bones['t_feather.R'] = bone.name bone = arm.edit_bones.new('Wing.L') bone.head[:] = 0.0089, 0.0141, 0.1157 bone.tail[:] = 0.0485, 0.0107, 0.1163 @@ -294,7 +294,7 @@ def create(obj): bone.head[:] = -0.0000, -0.0417, 0.1348 bone.tail[:] = -0.0000, -0.0458, 0.1429 bone.roll = 0.0001 - bone.use_connect = True + bone.use_connect = False bone.parent = arm.edit_bones[bones['spine.006']] bones['neck.001'] = bone.name bone = arm.edit_bones.new('Wing.R') @@ -691,8 +691,8 @@ def create(obj): bones['tongue.003.L'] = bone.name bpy.ops.object.mode_set(mode='OBJECT') - pbone = obj.pose.bones[bones['spine']] - pbone.rigify_type = 'spines.super_spine' + pbone = obj.pose.bones[bones['spine.003']] + pbone.rigify_type = 'spines.basic_spine' pbone.lock_location = (False, False, False) pbone.lock_rotation = (False, False, False) pbone.lock_rotation_w = False @@ -700,70 +700,38 @@ 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] try: - pbone.rigify_parameters.use_tail = True - except AttributeError: - pass - try: - pbone.rigify_parameters.tail_pos = 3 + pbone.rigify_parameters.pivot_pos = 1 except AttributeError: pass try: - pbone.rigify_parameters.pivot_pos = 4 - except AttributeError: - pass - try: - pbone.rigify_parameters.neck_pos = 8 - except AttributeError: - pass - try: - pbone.rigify_parameters.copy_rotation_axes = [True, False, True] + pbone.rigify_parameters.tweak_layers = [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, False] except AttributeError: pass try: - pbone.rigify_parameters.tweak_layers = [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, False] + pbone.rigify_parameters.fk_layers = [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, False] except AttributeError: pass - pbone = obj.pose.bones[bones['spine.001']] - pbone.rigify_type = '' + pbone = obj.pose.bones[bones['spine.002']] + pbone.rigify_type = 'spines.basic_tail' pbone.lock_location = (False, False, False) pbone.lock_rotation = (False, False, False) pbone.lock_rotation_w = False pbone.lock_scale = (False, False, False) 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['t_feather.L']] - pbone.rigify_type = 'basic.super_copy' - pbone.lock_location = (False, False, False) - pbone.lock_rotation = (False, False, False) - pbone.lock_rotation_w = False - pbone.lock_scale = (False, False, False) - pbone.rotation_mode = 'QUATERNION' - pbone.bone.layers = [False, False, False, False, False, False, 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] try: - pbone.rigify_parameters.make_widget = False + pbone.rigify_parameters.copy_rotation_axes = [True, False, True] except AttributeError: pass - pbone = obj.pose.bones[bones['t_feather.R']] - pbone.rigify_type = 'basic.super_copy' - pbone.lock_location = (False, False, False) - pbone.lock_rotation = (False, False, False) - pbone.lock_rotation_w = False - pbone.lock_scale = (False, False, False) - pbone.rotation_mode = 'QUATERNION' - pbone.bone.layers = [False, False, False, False, False, False, 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] try: - pbone.rigify_parameters.make_widget = False + pbone.rigify_parameters.tweak_layers = [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, False] except AttributeError: pass - pbone = obj.pose.bones[bones['spine.002']] - pbone.rigify_type = '' - pbone.lock_location = (False, False, False) - pbone.lock_rotation = (False, False, False) - pbone.lock_rotation_w = False - pbone.lock_scale = (False, False, False) - 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['spine.003']] + try: + pbone.rigify_parameters.connect_chain = True + except AttributeError: + pass + pbone = obj.pose.bones[bones['spine.004']] pbone.rigify_type = '' pbone.lock_location = (False, False, False) pbone.lock_rotation = (False, False, False) @@ -771,7 +739,7 @@ def create(obj): pbone.lock_scale = (False, False, False) 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['spine.004']] + pbone = obj.pose.bones[bones['spine.001']] pbone.rigify_type = '' pbone.lock_location = (False, False, False) pbone.lock_rotation = (False, False, False) @@ -859,6 +827,14 @@ def create(obj): 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: pass + pbone = obj.pose.bones[bones['spine']] + pbone.rigify_type = '' + pbone.lock_location = (False, False, False) + pbone.lock_rotation = (False, False, False) + pbone.lock_rotation_w = False + pbone.lock_scale = (False, False, False) + 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['shoulder.L']] pbone.rigify_type = 'basic.super_copy' pbone.lock_location = (False, False, False) @@ -907,6 +883,30 @@ 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, False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False] + pbone = obj.pose.bones[bones['t_feather.L']] + pbone.rigify_type = 'basic.super_copy' + pbone.lock_location = (False, False, False) + pbone.lock_rotation = (False, False, False) + pbone.lock_rotation_w = False + pbone.lock_scale = (False, False, False) + pbone.rotation_mode = 'QUATERNION' + pbone.bone.layers = [False, False, False, False, False, False, 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] + try: + pbone.rigify_parameters.make_widget = False + except AttributeError: + pass + pbone = obj.pose.bones[bones['t_feather.R']] + pbone.rigify_type = 'basic.super_copy' + pbone.lock_location = (False, False, False) + pbone.lock_rotation = (False, False, False) + pbone.lock_rotation_w = False + pbone.lock_scale = (False, False, False) + pbone.rotation_mode = 'QUATERNION' + pbone.bone.layers = [False, False, False, False, False, False, 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] + try: + pbone.rigify_parameters.make_widget = False + except AttributeError: + pass pbone = obj.pose.bones[bones['Wing.L']] pbone.rigify_type = 'limbs.simple_tentacle' pbone.lock_location = (False, False, False) @@ -914,20 +914,31 @@ def create(obj): pbone.lock_rotation_w = False pbone.lock_scale = (False, False, False) pbone.rotation_mode = 'QUATERNION' - pbone.rigify_parameters.copy_rotation_axes = [False, False, False] 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.copy_rotation_axes = [False, False, 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: pass pbone = obj.pose.bones[bones['neck.001']] - pbone.rigify_type = '' + pbone.rigify_type = 'spines.super_head' pbone.lock_location = (False, False, False) pbone.lock_rotation = (False, False, False) pbone.lock_rotation_w = False pbone.lock_scale = (False, False, False) 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] + try: + pbone.rigify_parameters.tweak_layers = [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, False] + except AttributeError: + pass + try: + pbone.rigify_parameters.connect_chain = True + except AttributeError: + pass pbone = obj.pose.bones[bones['Wing.R']] pbone.rigify_type = 'limbs.simple_tentacle' pbone.lock_location = (False, False, False) @@ -935,9 +946,12 @@ def create(obj): pbone.lock_rotation_w = False pbone.lock_scale = (False, False, False) pbone.rotation_mode = 'QUATERNION' - pbone.rigify_parameters.copy_rotation_axes = [False, False, False] 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.copy_rotation_axes = [False, False, 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: pass @@ -1492,5 +1506,7 @@ def create(obj): arm.layers = [(x in [0, 3, 7, 10, 13, 16, 21, 24]) for x in range(32)] + return bones + if __name__ == "__main__": create(bpy.context.active_object) diff --git a/rigify/metarigs/Animals/cat.py b/rigify/metarigs/Animals/cat.py index a065c432..b86a9346 100644 --- a/rigify/metarigs/Animals/cat.py +++ b/rigify/metarigs/Animals/cat.py @@ -165,40 +165,19 @@ def create(obj): bones = {} - bone = arm.edit_bones.new('tail.004') - bone.head[:] = -0.0000, 0.5531, 0.2488 - bone.tail[:] = -0.0000, 0.4543, 0.2321 - bone.roll = 0.0000 - bone.use_connect = False - bones['tail.004'] = bone.name - bone = arm.edit_bones.new('tail.003') - bone.head[:] = -0.0000, 0.4543, 0.2321 - bone.tail[:] = -0.0000, 0.3513, 0.2284 - bone.roll = 0.0000 - bone.use_connect = True - bone.parent = arm.edit_bones[bones['tail.004']] - bones['tail.003'] = bone.name - bone = arm.edit_bones.new('tail.002') - bone.head[:] = -0.0000, 0.3513, 0.2284 - bone.tail[:] = -0.0000, 0.2460, 0.2324 - bone.roll = 0.0000 - bone.use_connect = True - bone.parent = arm.edit_bones[bones['tail.003']] - bones['tail.002'] = bone.name - bone = arm.edit_bones.new('tail.001') - bone.head[:] = -0.0000, 0.2460, 0.2324 - bone.tail[:] = 0.0000, 0.1499, 0.2500 - bone.roll = 0.0000 - bone.use_connect = True - bone.parent = arm.edit_bones[bones['tail.002']] - bones['tail.001'] = bone.name bone = arm.edit_bones.new('spine') bone.head[:] = 0.0000, 0.1499, 0.2500 bone.tail[:] = 0.0000, 0.0769, 0.2272 bone.roll = 0.0000 - bone.use_connect = True - bone.parent = arm.edit_bones[bones['tail.001']] + bone.use_connect = False bones['spine'] = bone.name + bone = arm.edit_bones.new('tail.001') + bone.head[:] = 0.0000, 0.1499, 0.2500 + bone.tail[:] = -0.0000, 0.2460, 0.2324 + bone.roll = 0.0000 + bone.use_connect = False + bone.parent = arm.edit_bones[bones['spine']] + bones['tail.001'] = bone.name bone = arm.edit_bones.new('spine.001') bone.head[:] = 0.0000, 0.0769, 0.2272 bone.tail[:] = 0.0000, 0.0180, 0.2240 @@ -227,6 +206,13 @@ def create(obj): bone.use_connect = False bone.parent = arm.edit_bones[bones['spine']] bones['pelvis.C'] = bone.name + bone = arm.edit_bones.new('tail.002') + bone.head[:] = -0.0000, 0.2460, 0.2324 + bone.tail[:] = -0.0000, 0.3513, 0.2284 + bone.roll = 0.0000 + bone.use_connect = True + bone.parent = arm.edit_bones[bones['tail.001']] + bones['tail.002'] = bone.name bone = arm.edit_bones.new('spine.002') bone.head[:] = 0.0000, 0.0180, 0.2240 bone.tail[:] = 0.0000, -0.0513, 0.2271 @@ -248,6 +234,13 @@ def create(obj): bone.use_connect = False bone.parent = arm.edit_bones[bones['pelvis.R']] bones['thigh.R'] = bone.name + bone = arm.edit_bones.new('tail.003') + bone.head[:] = -0.0000, 0.3513, 0.2284 + bone.tail[:] = -0.0000, 0.4543, 0.2321 + bone.roll = 0.0000 + bone.use_connect = True + bone.parent = arm.edit_bones[bones['tail.002']] + bones['tail.003'] = bone.name bone = arm.edit_bones.new('spine.003') bone.head[:] = 0.0000, -0.0513, 0.2271 bone.tail[:] = 0.0000, -0.1571, 0.2355 @@ -276,11 +269,18 @@ def create(obj): bone.use_connect = True bone.parent = arm.edit_bones[bones['thigh.R']] bones['shin.R'] = bone.name + bone = arm.edit_bones.new('tail.004') + bone.head[:] = -0.0000, 0.4543, 0.2321 + bone.tail[:] = -0.0000, 0.5531, 0.2488 + bone.roll = 0.0000 + bone.use_connect = True + bone.parent = arm.edit_bones[bones['tail.003']] + bones['tail.004'] = bone.name bone = arm.edit_bones.new('spine.004') bone.head[:] = 0.0000, -0.1571, 0.2355 bone.tail[:] = 0.0000, -0.1736, 0.2395 bone.roll = 0.0000 - bone.use_connect = True + bone.use_connect = False bone.parent = arm.edit_bones[bones['spine.003']] bones['spine.004'] = bone.name bone = arm.edit_bones.new('Breast.C') @@ -1384,52 +1384,24 @@ def create(obj): bones['brow.T.R.003'] = bone.name bpy.ops.object.mode_set(mode='OBJECT') - pbone = obj.pose.bones[bones['tail.004']] - pbone.rigify_type = 'spines.super_spine' + pbone = obj.pose.bones[bones['spine']] + pbone.rigify_type = 'spines.basic_spine' pbone.lock_location = (False, False, False) pbone.lock_rotation = (False, False, False) pbone.lock_rotation_w = False pbone.lock_scale = (False, False, False) pbone.rotation_mode = 'QUATERNION' - pbone.bone.layers = [False, 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] - try: - pbone.rigify_parameters.use_tail = True - except AttributeError: - pass - try: - pbone.rigify_parameters.pivot_pos = 6 - except AttributeError: - pass - try: - pbone.rigify_parameters.neck_pos = 9 - except AttributeError: - pass + 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] try: - pbone.rigify_parameters.tail_pos = 4 + pbone.rigify_parameters.tweak_layers = [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, False, False] except AttributeError: pass try: - pbone.rigify_parameters.copy_rotation_axes = [True, True, True] + pbone.rigify_parameters.fk_layers = [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, False, False] except AttributeError: pass - pbone = obj.pose.bones[bones['tail.003']] - pbone.rigify_type = '' - pbone.lock_location = (False, False, False) - pbone.lock_rotation = (False, False, False) - pbone.lock_rotation_w = False - pbone.lock_scale = (False, False, False) - pbone.rotation_mode = 'QUATERNION' - pbone.bone.layers = [False, 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] - pbone = obj.pose.bones[bones['tail.002']] - pbone.rigify_type = '' - pbone.lock_location = (False, False, False) - pbone.lock_rotation = (False, False, False) - pbone.lock_rotation_w = False - pbone.lock_scale = (False, False, False) - pbone.rotation_mode = 'QUATERNION' - pbone.bone.layers = [False, 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] pbone = obj.pose.bones[bones['tail.001']] - pbone.rigify_type = '' + pbone.rigify_type = 'spines.basic_tail' pbone.lock_location = (False, False, False) pbone.lock_rotation = (False, False, False) pbone.lock_rotation_w = False @@ -1437,23 +1409,15 @@ def create(obj): pbone.rotation_mode = 'QUATERNION' pbone.bone.layers = [False, 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] try: - pbone.rigify_parameters.tweak_layers = [False, False, 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] + pbone.rigify_parameters.tweak_layers = [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, False, False] except AttributeError: pass - pbone = obj.pose.bones[bones['spine']] - pbone.rigify_type = '' - pbone.lock_location = (False, False, False) - pbone.lock_rotation = (False, False, False) - pbone.lock_rotation_w = False - pbone.lock_scale = (False, False, False) - 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] try: - pbone.rigify_parameters.neck_pos = 5 + pbone.rigify_parameters.copy_rotation_axes = [True, True, True] except AttributeError: pass try: - pbone.rigify_parameters.tweak_layers = [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, False] + pbone.rigify_parameters.connect_chain = True except AttributeError: pass pbone = obj.pose.bones[bones['spine.001']] @@ -1504,6 +1468,14 @@ def create(obj): pbone.rigify_parameters.make_control = False except AttributeError: pass + pbone = obj.pose.bones[bones['tail.002']] + pbone.rigify_type = '' + pbone.lock_location = (False, False, False) + pbone.lock_rotation = (False, False, False) + pbone.lock_rotation_w = False + pbone.lock_scale = (False, False, False) + pbone.rotation_mode = 'QUATERNION' + pbone.bone.layers = [False, 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] pbone = obj.pose.bones[bones['spine.002']] pbone.rigify_type = '' pbone.lock_location = (False, False, False) @@ -1556,6 +1528,14 @@ def create(obj): 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: pass + pbone = obj.pose.bones[bones['tail.003']] + pbone.rigify_type = '' + pbone.lock_location = (False, False, False) + pbone.lock_rotation = (False, False, False) + pbone.lock_rotation_w = False + pbone.lock_scale = (False, False, False) + pbone.rotation_mode = 'QUATERNION' + pbone.bone.layers = [False, 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] pbone = obj.pose.bones[bones['spine.003']] pbone.rigify_type = '' pbone.lock_location = (False, False, False) @@ -1588,14 +1568,26 @@ 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, False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False] - pbone = obj.pose.bones[bones['spine.004']] + pbone = obj.pose.bones[bones['tail.004']] pbone.rigify_type = '' pbone.lock_location = (False, False, False) pbone.lock_rotation = (False, False, False) pbone.lock_rotation_w = False pbone.lock_scale = (False, False, False) pbone.rotation_mode = 'QUATERNION' + pbone.bone.layers = [False, 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] + pbone = obj.pose.bones[bones['spine.004']] + pbone.rigify_type = 'spines.super_head' + pbone.lock_location = (False, False, False) + pbone.lock_rotation = (False, False, False) + pbone.lock_rotation_w = False + pbone.lock_scale = (False, False, False) + 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] + try: + pbone.rigify_parameters.connect_chain = True + except AttributeError: + pass pbone = obj.pose.bones[bones['Breast.C']] pbone.rigify_type = 'basic.super_copy' pbone.lock_location = (False, False, False) @@ -2987,5 +2979,7 @@ def create(obj): arm.layers = [(x in [0, 3, 5, 7, 10, 13, 16, 19]) for x in range(32)] + return bones + if __name__ == "__main__": create(bpy.context.active_object) diff --git a/rigify/metarigs/Animals/horse.py b/rigify/metarigs/Animals/horse.py index 358a9ceb..733bc5c8 100644 --- a/rigify/metarigs/Animals/horse.py +++ b/rigify/metarigs/Animals/horse.py @@ -163,60 +163,38 @@ def create(obj): arm.rigify_layers[28].selset = False arm.rigify_layers[28].group = 1 - bones = {} - bone = arm.edit_bones.new('spine') - bone.head[:] = -0.0000, 1.7610, 1.1153 - bone.tail[:] = -0.0000, 1.5754, 1.1088 - bone.roll = -0.0000 - bone.use_connect = False - bones['spine'] = bone.name - bone = arm.edit_bones.new('spine.001') - bone.head[:] = -0.0000, 1.5754, 1.1088 - bone.tail[:] = -0.0000, 1.3779, 1.1589 - bone.roll = -0.0000 - bone.use_connect = True - bone.parent = arm.edit_bones[bones['spine']] - bones['spine.001'] = bone.name - bone = arm.edit_bones.new('spine.002') - bone.head[:] = -0.0000, 1.3779, 1.1589 - bone.tail[:] = -0.0000, 1.1423, 1.3128 - bone.roll = -0.0000 - bone.use_connect = True - bone.parent = arm.edit_bones[bones['spine.001']] - bones['spine.002'] = bone.name - bone = arm.edit_bones.new('spine.003') - bone.head[:] = -0.0000, 1.1423, 1.3128 - bone.tail[:] = -0.0000, 1.0291, 1.4191 - bone.roll = -0.0000 - bone.use_connect = True - bone.parent = arm.edit_bones[bones['spine.002']] - bones['spine.003'] = bone.name - bone = arm.edit_bones.new('spine.004') - bone.head[:] = -0.0000, 1.0291, 1.4191 - bone.tail[:] = -0.0000, 0.9228, 1.4526 - bone.roll = -0.0000 - bone.use_connect = True - bone.parent = arm.edit_bones[bones['spine.003']] - bones['spine.004'] = bone.name bone = arm.edit_bones.new('spine.005') bone.head[:] = -0.0000, 0.9228, 1.4526 bone.tail[:] = -0.0000, 0.6989, 1.4910 bone.roll = -0.0000 - bone.use_connect = True - bone.parent = arm.edit_bones[bones['spine.004']] + bone.use_connect = False bones['spine.005'] = bone.name + bone = arm.edit_bones.new('spine.004') + bone.head[:] = -0.0000, 0.9228, 1.4526 + bone.tail[:] = -0.0000, 1.0291, 1.4191 + bone.roll = -0.0000 + bone.use_connect = False + bone.parent = arm.edit_bones[bones['spine.005']] + bones['spine.004'] = bone.name bone = arm.edit_bones.new('spine.006') bone.head[:] = -0.0000, 0.6989, 1.4910 - bone.tail[:] = -0.0000, 0.3824, 1.3801 + bone.tail[:] = 0.0000, 0.3824, 1.3801 bone.roll = -0.0000 bone.use_connect = True bone.parent = arm.edit_bones[bones['spine.005']] bones['spine.006'] = bone.name + bone = arm.edit_bones.new('spine.003') + bone.head[:] = -0.0000, 1.0291, 1.4191 + bone.tail[:] = -0.0000, 1.1423, 1.3128 + bone.roll = -0.0000 + bone.use_connect = True + bone.parent = arm.edit_bones[bones['spine.004']] + bones['spine.003'] = bone.name bone = arm.edit_bones.new('spine.007') - bone.head[:] = -0.0000, 0.3824, 1.3801 - bone.tail[:] = -0.0000, 0.1316, 1.3086 + bone.head[:] = 0.0000, 0.3824, 1.3801 + bone.tail[:] = 0.0000, 0.1316, 1.3086 bone.roll = 0.0000 bone.use_connect = True bone.parent = arm.edit_bones[bones['spine.006']] @@ -256,9 +234,16 @@ def create(obj): bone.use_connect = False bone.parent = arm.edit_bones[bones['spine.006']] bones['pelvis'] = bone.name + bone = arm.edit_bones.new('spine.002') + bone.head[:] = -0.0000, 1.1423, 1.3128 + bone.tail[:] = -0.0000, 1.3779, 1.1589 + bone.roll = -0.0000 + bone.use_connect = True + bone.parent = arm.edit_bones[bones['spine.003']] + bones['spine.002'] = bone.name bone = arm.edit_bones.new('spine.008') - bone.head[:] = -0.0000, 0.1316, 1.3086 - bone.tail[:] = -0.0000, -0.1712, 1.2964 + bone.head[:] = 0.0000, 0.1316, 1.3086 + bone.tail[:] = 0.0000, -0.1712, 1.2964 bone.roll = 0.0000 bone.use_connect = True bone.parent = arm.edit_bones[bones['spine.007']] @@ -277,9 +262,16 @@ def create(obj): bone.use_connect = True bone.parent = arm.edit_bones[bones['thigh.R']] bones['shin.R'] = bone.name + bone = arm.edit_bones.new('spine.001') + bone.head[:] = -0.0000, 1.3779, 1.1589 + bone.tail[:] = -0.0000, 1.5754, 1.1088 + bone.roll = -0.0000 + bone.use_connect = True + bone.parent = arm.edit_bones[bones['spine.002']] + bones['spine.001'] = bone.name bone = arm.edit_bones.new('spine.009') - bone.head[:] = -0.0000, -0.1712, 1.2964 - bone.tail[:] = -0.0000, -0.4908, 1.3031 + bone.head[:] = 0.0000, -0.1712, 1.2964 + bone.tail[:] = 0.0000, -0.4908, 1.3031 bone.roll = 0.0000 bone.use_connect = True bone.parent = arm.edit_bones[bones['spine.008']] @@ -305,9 +297,16 @@ def create(obj): bone.use_connect = True bone.parent = arm.edit_bones[bones['shin.R']] bones['foot.R'] = bone.name + bone = arm.edit_bones.new('spine') + bone.head[:] = -0.0000, 1.5754, 1.1088 + bone.tail[:] = -0.0000, 1.7610, 1.1153 + bone.roll = -0.0000 + bone.use_connect = True + bone.parent = arm.edit_bones[bones['spine.001']] + bones['spine'] = bone.name bone = arm.edit_bones.new('spine.010') - bone.head[:] = -0.0000, -0.4908, 1.3031 - bone.tail[:] = -0.0000, -0.7593, 1.3786 + bone.head[:] = 0.0000, -0.4908, 1.3031 + bone.tail[:] = 0.0000, -0.7593, 1.3786 bone.roll = 0.0000 bone.use_connect = True bone.parent = arm.edit_bones[bones['spine.009']] @@ -362,10 +361,10 @@ def create(obj): bone.parent = arm.edit_bones[bones['foot.R']] bones['r_toe.R'] = bone.name bone = arm.edit_bones.new('spine.011') - bone.head[:] = -0.0000, -0.7593, 1.3786 - bone.tail[:] = -0.0000, -0.9004, 1.5475 + bone.head[:] = 0.0000, -0.7593, 1.3786 + bone.tail[:] = 0.0000, -0.9004, 1.5475 bone.roll = 0.0000 - bone.use_connect = True + bone.use_connect = False bone.parent = arm.edit_bones[bones['spine.010']] bones['spine.011'] = bone.name bone = arm.edit_bones.new('hair_base.05') @@ -629,8 +628,8 @@ def create(obj): bones['jaw.001'] = bone.name bpy.ops.object.mode_set(mode='OBJECT') - pbone = obj.pose.bones[bones['spine']] - pbone.rigify_type = 'spines.super_spine' + pbone = obj.pose.bones[bones['spine.005']] + pbone.rigify_type = 'spines.basic_spine' pbone.lock_location = (False, False, False) pbone.lock_rotation = (False, False, False) pbone.lock_rotation_w = False @@ -638,7 +637,7 @@ def create(obj): pbone.rotation_mode = 'QUATERNION' pbone.bone.layers = [False, 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] try: - pbone.rigify_parameters.neck_pos = 12 + pbone.rigify_parameters.pivot_pos = 3 except AttributeError: pass try: @@ -646,37 +645,37 @@ def create(obj): except AttributeError: pass try: - pbone.rigify_parameters.use_tail = True + pbone.rigify_parameters.fk_layers = [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, False] except AttributeError: pass + pbone = obj.pose.bones[bones['spine.004']] + pbone.rigify_type = 'spines.basic_tail' + pbone.lock_location = (False, False, False) + pbone.lock_rotation = (False, False, False) + pbone.lock_rotation_w = False + pbone.lock_scale = (False, False, False) + pbone.rotation_mode = 'QUATERNION' + pbone.bone.layers = [False, 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] try: - pbone.rigify_parameters.pivot_pos = 8 + pbone.rigify_parameters.copy_rotation_axes = [True, False, True] except AttributeError: pass try: - pbone.rigify_parameters.tail_pos = 5 + pbone.rigify_parameters.connect_chain = True except AttributeError: pass try: - pbone.rigify_parameters.copy_rotation_axes = [True, False, True] + pbone.rigify_parameters.tweak_layers = [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, False] except AttributeError: pass - pbone = obj.pose.bones[bones['spine.001']] - pbone.rigify_type = '' - pbone.lock_location = (False, False, False) - pbone.lock_rotation = (False, False, False) - pbone.lock_rotation_w = False - pbone.lock_scale = (False, False, False) - pbone.rotation_mode = 'QUATERNION' - pbone.bone.layers = [False, 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] - pbone = obj.pose.bones[bones['spine.002']] + pbone = obj.pose.bones[bones['spine.006']] pbone.rigify_type = '' pbone.lock_location = (False, False, False) pbone.lock_rotation = (False, False, False) pbone.lock_rotation_w = False pbone.lock_scale = (False, False, False) pbone.rotation_mode = 'QUATERNION' - pbone.bone.layers = [False, 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] + 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['spine.003']] pbone.rigify_type = '' pbone.lock_location = (False, False, False) @@ -685,30 +684,6 @@ 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, False, False, False, False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False] - pbone = obj.pose.bones[bones['spine.004']] - pbone.rigify_type = '' - pbone.lock_location = (False, False, False) - pbone.lock_rotation = (False, False, False) - pbone.lock_rotation_w = False - pbone.lock_scale = (False, False, False) - pbone.rotation_mode = 'QUATERNION' - pbone.bone.layers = [False, 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] - pbone = obj.pose.bones[bones['spine.005']] - pbone.rigify_type = '' - pbone.lock_location = (False, False, False) - pbone.lock_rotation = (False, False, False) - pbone.lock_rotation_w = False - pbone.lock_scale = (False, False, False) - pbone.rotation_mode = 'QUATERNION' - pbone.bone.layers = [False, 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] - pbone = obj.pose.bones[bones['spine.006']] - pbone.rigify_type = '' - pbone.lock_location = (False, False, False) - pbone.lock_rotation = (False, False, False) - pbone.lock_rotation_w = False - pbone.lock_scale = (False, False, False) - 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['spine.007']] pbone.rigify_type = '' pbone.lock_location = (False, False, False) @@ -805,6 +780,14 @@ def create(obj): pbone.lock_scale = (False, False, False) 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['spine.002']] + pbone.rigify_type = '' + pbone.lock_location = (False, False, False) + pbone.lock_rotation = (False, False, False) + pbone.lock_rotation_w = False + pbone.lock_scale = (False, False, False) + pbone.rotation_mode = 'QUATERNION' + pbone.bone.layers = [False, 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] pbone = obj.pose.bones[bones['spine.008']] pbone.rigify_type = '' pbone.lock_location = (False, False, False) @@ -829,6 +812,14 @@ 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, False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False] + pbone = obj.pose.bones[bones['spine.001']] + pbone.rigify_type = '' + pbone.lock_location = (False, False, False) + pbone.lock_rotation = (False, False, False) + pbone.lock_rotation_w = False + pbone.lock_scale = (False, False, False) + pbone.rotation_mode = 'QUATERNION' + pbone.bone.layers = [False, 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] pbone = obj.pose.bones[bones['spine.009']] pbone.rigify_type = '' pbone.lock_location = (False, False, False) @@ -861,6 +852,14 @@ 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, False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False] + pbone = obj.pose.bones[bones['spine']] + pbone.rigify_type = '' + pbone.lock_location = (False, False, False) + pbone.lock_rotation = (False, False, False) + pbone.lock_rotation_w = False + pbone.lock_scale = (False, False, False) + pbone.rotation_mode = 'QUATERNION' + pbone.bone.layers = [False, 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] pbone = obj.pose.bones[bones['spine.010']] pbone.rigify_type = '' pbone.lock_location = (False, False, False) @@ -934,13 +933,21 @@ def create(obj): pbone.rotation_mode = 'QUATERNION' pbone.bone.layers = [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, False] pbone = obj.pose.bones[bones['spine.011']] - pbone.rigify_type = '' + pbone.rigify_type = 'spines.super_head' pbone.lock_location = (False, False, False) pbone.lock_rotation = (False, False, False) pbone.lock_rotation_w = False pbone.lock_scale = (False, False, False) 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] + try: + pbone.rigify_parameters.connect_chain = True + except AttributeError: + pass + try: + pbone.rigify_parameters.tweak_layers = [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, False] + except AttributeError: + pass pbone = obj.pose.bones[bones['hair_base.05']] pbone.rigify_type = 'limbs.super_finger' pbone.lock_location = (False, False, False) @@ -1368,5 +1375,7 @@ def create(obj): arm.layers = [(x in [0, 3, 4, 7, 10, 13, 16, 19, 21]) for x in range(32)] + return bones + if __name__ == "__main__": create(bpy.context.active_object) diff --git a/rigify/metarigs/Animals/shark.py b/rigify/metarigs/Animals/shark.py index 1ee1d0d9..d4f5e4ee 100644 --- a/rigify/metarigs/Animals/shark.py +++ b/rigify/metarigs/Animals/shark.py @@ -165,40 +165,40 @@ def create(obj): bones = {} - bone = arm.edit_bones.new('spine') - bone.head[:] = -0.0000, 1.3362, 0.4776 - bone.tail[:] = -0.0000, 1.0816, 0.4540 - bone.roll = 0.0000 + bone = arm.edit_bones.new('spine.003') + bone.head[:] = -0.0000, 0.3182, 0.4031 + bone.tail[:] = -0.0000, 0.0152, 0.3904 + bone.roll = 0.0001 bone.use_connect = False - bones['spine'] = bone.name - bone = arm.edit_bones.new('spine.001') - bone.head[:] = -0.0000, 1.0816, 0.4540 + bones['spine.003'] = bone.name + bone = arm.edit_bones.new('spine.002') + bone.head[:] = -0.0000, 0.3182, 0.4031 bone.tail[:] = -0.0000, 0.7152, 0.4305 bone.roll = -0.0000 - bone.use_connect = True - bone.parent = arm.edit_bones[bones['spine']] - bones['spine.001'] = bone.name - bone = arm.edit_bones.new('back_fin.T.Bk') - bone.head[:] = 0.0000, 1.2501, 0.5345 - bone.tail[:] = 0.0000, 1.5211, 0.7594 - bone.roll = 0.0000 - bone.use_connect = False - bone.parent = arm.edit_bones[bones['spine']] - bones['back_fin.T.Bk'] = bone.name - bone = arm.edit_bones.new('back_fin.B.Bk') - bone.head[:] = 0.0000, 1.2305, 0.4158 - bone.tail[:] = 0.0000, 1.3289, 0.2452 - bone.roll = 0.0000 bone.use_connect = False - bone.parent = arm.edit_bones[bones['spine']] - bones['back_fin.B.Bk'] = bone.name - bone = arm.edit_bones.new('spine.002') + bone.parent = arm.edit_bones[bones['spine.003']] + bones['spine.002'] = bone.name + bone = arm.edit_bones.new('spine.001') bone.head[:] = -0.0000, 0.7152, 0.4305 - bone.tail[:] = -0.0000, 0.3182, 0.4031 + bone.tail[:] = -0.0000, 1.0816, 0.4540 bone.roll = -0.0000 bone.use_connect = True + bone.parent = arm.edit_bones[bones['spine.002']] + bones['spine.001'] = bone.name + bone = arm.edit_bones.new('spine.008') + bone.head[:] = -0.0000, 0.0152, 0.3904 + bone.tail[:] = 0.0000, -0.3259, 0.3967 + bone.roll = 0.0001 + bone.use_connect = True + bone.parent = arm.edit_bones[bones['spine.003']] + bones['spine.008'] = bone.name + bone = arm.edit_bones.new('spine') + bone.head[:] = -0.0000, 1.0816, 0.4540 + bone.tail[:] = -0.0000, 1.3362, 0.4776 + bone.roll = 0.0000 + bone.use_connect = True bone.parent = arm.edit_bones[bones['spine.001']] - bones['spine.002'] = bone.name + bones['spine'] = bone.name bone = arm.edit_bones.new('mid_fin.Top') bone.head[:] = 0.0000, 0.7296, 0.5396 bone.tail[:] = 0.0000, 0.7709, 0.6351 @@ -213,41 +213,6 @@ def create(obj): bone.use_connect = False bone.parent = arm.edit_bones[bones['spine.001']] bones['mid_fin.Bot'] = bone.name - bone = arm.edit_bones.new('back_fin.T.001.Bk') - bone.head[:] = 0.0000, 1.5211, 0.7594 - bone.tail[:] = 0.0000, 1.7667, 0.9633 - bone.roll = 0.0000 - bone.use_connect = True - bone.parent = arm.edit_bones[bones['back_fin.T.Bk']] - bones['back_fin.T.001.Bk'] = bone.name - bone = arm.edit_bones.new('back_fin.B.001.Bk') - bone.head[:] = 0.0000, 1.3289, 0.2452 - bone.tail[:] = 0.0000, 1.3818, 0.1513 - bone.roll = 0.0000 - bone.use_connect = True - bone.parent = arm.edit_bones[bones['back_fin.B.Bk']] - bones['back_fin.B.001.Bk'] = bone.name - bone = arm.edit_bones.new('spine.003') - bone.head[:] = -0.0000, 0.3182, 0.4031 - bone.tail[:] = -0.0000, 0.0152, 0.3904 - bone.roll = 0.0001 - bone.use_connect = True - bone.parent = arm.edit_bones[bones['spine.002']] - bones['spine.003'] = bone.name - bone = arm.edit_bones.new('back_fin.T.002.Bk') - bone.head[:] = 0.0000, 1.7667, 0.9633 - bone.tail[:] = 0.0000, 1.9489, 1.1145 - bone.roll = 0.0000 - bone.use_connect = True - bone.parent = arm.edit_bones[bones['back_fin.T.001.Bk']] - bones['back_fin.T.002.Bk'] = bone.name - bone = arm.edit_bones.new('spine.008') - bone.head[:] = -0.0000, 0.0152, 0.3904 - bone.tail[:] = 0.0000, -0.3259, 0.3967 - bone.roll = 0.0001 - bone.use_connect = True - bone.parent = arm.edit_bones[bones['spine.003']] - bones['spine.008'] = bone.name bone = arm.edit_bones.new('spine.004') bone.head[:] = 0.0000, -0.3259, 0.3967 bone.tail[:] = 0.0000, -0.5947, 0.4044 @@ -269,6 +234,20 @@ def create(obj): bone.use_connect = False bone.parent = arm.edit_bones[bones['spine.008']] bones['chest_fin.Bot.R'] = bone.name + bone = arm.edit_bones.new('back_fin.T.Bk') + bone.head[:] = 0.0000, 1.2501, 0.5345 + bone.tail[:] = 0.0000, 1.5211, 0.7594 + bone.roll = 0.0000 + bone.use_connect = False + bone.parent = arm.edit_bones[bones['spine']] + bones['back_fin.T.Bk'] = bone.name + bone = arm.edit_bones.new('back_fin.B.Bk') + bone.head[:] = 0.0000, 1.2305, 0.4158 + bone.tail[:] = 0.0000, 1.3289, 0.2452 + bone.roll = 0.0000 + bone.use_connect = False + bone.parent = arm.edit_bones[bones['spine']] + bones['back_fin.B.Bk'] = bone.name bone = arm.edit_bones.new('spine.005') bone.head[:] = 0.0000, -0.5947, 0.4044 bone.tail[:] = 0.0000, -1.2084, 0.4328 @@ -283,11 +262,25 @@ def create(obj): bone.use_connect = False bone.parent = arm.edit_bones[bones['spine.004']] bones['top_fin'] = bone.name + bone = arm.edit_bones.new('back_fin.T.001.Bk') + bone.head[:] = 0.0000, 1.5211, 0.7594 + bone.tail[:] = 0.0000, 1.7667, 0.9633 + bone.roll = 0.0000 + bone.use_connect = True + bone.parent = arm.edit_bones[bones['back_fin.T.Bk']] + bones['back_fin.T.001.Bk'] = bone.name + bone = arm.edit_bones.new('back_fin.B.001.Bk') + bone.head[:] = 0.0000, 1.3289, 0.2452 + bone.tail[:] = 0.0000, 1.3818, 0.1513 + bone.roll = 0.0000 + bone.use_connect = True + bone.parent = arm.edit_bones[bones['back_fin.B.Bk']] + bones['back_fin.B.001.Bk'] = bone.name bone = arm.edit_bones.new('spine.006') bone.head[:] = 0.0000, -1.2084, 0.4328 bone.tail[:] = 0.0000, -1.5634, 0.4275 bone.roll = -0.0000 - bone.use_connect = True + bone.use_connect = False bone.parent = arm.edit_bones[bones['spine.005']] bones['spine.006'] = bone.name bone = arm.edit_bones.new('shoulder.L') @@ -311,6 +304,13 @@ def create(obj): bone.use_connect = True bone.parent = arm.edit_bones[bones['top_fin']] bones['top_fin.001'] = bone.name + bone = arm.edit_bones.new('back_fin.T.002.Bk') + bone.head[:] = 0.0000, 1.7667, 0.9633 + bone.tail[:] = 0.0000, 1.9489, 1.1145 + bone.roll = 0.0000 + bone.use_connect = True + bone.parent = arm.edit_bones[bones['back_fin.T.001.Bk']] + bones['back_fin.T.002.Bk'] = bone.name bone = arm.edit_bones.new('spine.007') bone.head[:] = 0.0000, -1.5634, 0.4275 bone.tail[:] = 0.0000, -2.0661, 0.4364 @@ -411,8 +411,8 @@ def create(obj): bones['jaw.003.R'] = bone.name bpy.ops.object.mode_set(mode='OBJECT') - pbone = obj.pose.bones[bones['spine']] - pbone.rigify_type = 'spines.super_spine' + pbone = obj.pose.bones[bones['spine.002']] + pbone.rigify_type = 'spines.basic_tail' pbone.lock_location = (False, False, False) pbone.lock_rotation = (False, False, False) pbone.lock_rotation_w = False @@ -420,70 +420,34 @@ def create(obj): 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.neck_pos = 8 - except AttributeError: - pass - try: pbone.rigify_parameters.tweak_layers = [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, False] except AttributeError: pass try: - pbone.rigify_parameters.tail_pos = 3 - except AttributeError: - pass - try: - pbone.rigify_parameters.pivot_pos = 5 - except AttributeError: - pass - try: - pbone.rigify_parameters.use_tail = True + pbone.rigify_parameters.connect_chain = True except AttributeError: pass try: pbone.rigify_parameters.copy_rotation_axes = [True, False, True] except AttributeError: pass - pbone = obj.pose.bones[bones['spine.001']] - pbone.rigify_type = '' - pbone.lock_location = (False, False, False) - pbone.lock_rotation = (False, False, False) - pbone.lock_rotation_w = False - 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] - pbone = obj.pose.bones[bones['back_fin.T.Bk']] - pbone.rigify_type = 'limbs.super_finger' - pbone.lock_location = (False, False, False) - pbone.lock_rotation = (False, False, False) - pbone.lock_rotation_w = False - 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.tweak_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] - except AttributeError: - pass - try: - pbone.rigify_parameters.primary_rotation_axis = "Z" - except AttributeError: - pass - pbone = obj.pose.bones[bones['back_fin.B.Bk']] - pbone.rigify_type = 'limbs.super_finger' + pbone = obj.pose.bones[bones['spine.003']] + pbone.rigify_type = 'spines.basic_spine' pbone.lock_location = (False, False, False) pbone.lock_rotation = (False, False, False) pbone.lock_rotation_w = False 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] + 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] try: - pbone.rigify_parameters.tweak_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] + pbone.rigify_parameters.tweak_layers = [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, False] except AttributeError: pass try: - pbone.rigify_parameters.primary_rotation_axis = "Z" + pbone.rigify_parameters.fk_layers = [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, False] except AttributeError: pass - pbone = obj.pose.bones[bones['spine.002']] + pbone = obj.pose.bones[bones['spine.001']] pbone.rigify_type = '' pbone.lock_location = (False, False, False) pbone.lock_rotation = (False, False, False) @@ -491,23 +455,23 @@ 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] - pbone = obj.pose.bones[bones['mid_fin.Top']] + pbone = obj.pose.bones[bones['spine.008']] pbone.rigify_type = '' pbone.lock_location = (False, False, False) pbone.lock_rotation = (False, False, False) pbone.lock_rotation_w = False 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] - pbone = obj.pose.bones[bones['mid_fin.Bot']] + 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['spine']] pbone.rigify_type = '' pbone.lock_location = (False, False, False) pbone.lock_rotation = (False, False, False) pbone.lock_rotation_w = False pbone.lock_scale = (False, False, False) pbone.rotation_mode = 'QUATERNION' - pbone.bone.layers = [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, False] - pbone = obj.pose.bones[bones['back_fin.T.001.Bk']] + 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] + pbone = obj.pose.bones[bones['mid_fin.Top']] pbone.rigify_type = '' pbone.lock_location = (False, False, False) pbone.lock_rotation = (False, False, False) @@ -515,15 +479,15 @@ 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] - pbone = obj.pose.bones[bones['back_fin.B.001.Bk']] + pbone = obj.pose.bones[bones['mid_fin.Bot']] pbone.rigify_type = '' pbone.lock_location = (False, False, False) pbone.lock_rotation = (False, False, False) pbone.lock_rotation_w = False 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] - pbone = obj.pose.bones[bones['spine.003']] + pbone.bone.layers = [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, False] + pbone = obj.pose.bones[bones['spine.004']] pbone.rigify_type = '' pbone.lock_location = (False, False, False) pbone.lock_rotation = (False, False, False) @@ -531,32 +495,32 @@ def create(obj): pbone.lock_scale = (False, False, False) 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['back_fin.T.002.Bk']] - pbone.rigify_type = '' + pbone = obj.pose.bones[bones['chest_fin.Bot.L']] + pbone.rigify_type = 'basic.super_copy' pbone.lock_location = (False, False, False) pbone.lock_rotation = (False, False, False) pbone.lock_rotation_w = False 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] - pbone = obj.pose.bones[bones['spine.008']] - pbone.rigify_type = '' - pbone.lock_location = (False, False, False) - pbone.lock_rotation = (False, False, False) - pbone.lock_rotation_w = False - pbone.lock_scale = (False, False, False) - 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['spine.004']] - pbone.rigify_type = '' + try: + pbone.rigify_parameters.tweak_layers = [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, False] + except AttributeError: + pass + pbone = obj.pose.bones[bones['chest_fin.Bot.R']] + pbone.rigify_type = 'basic.super_copy' pbone.lock_location = (False, False, False) pbone.lock_rotation = (False, False, False) pbone.lock_rotation_w = False pbone.lock_scale = (False, False, False) 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['chest_fin.Bot.L']] - pbone.rigify_type = 'basic.super_copy' + 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.tweak_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] + except AttributeError: + pass + pbone = obj.pose.bones[bones['back_fin.T.Bk']] + pbone.rigify_type = 'limbs.super_finger' pbone.lock_location = (False, False, False) pbone.lock_rotation = (False, False, False) pbone.lock_rotation_w = False @@ -564,11 +528,15 @@ def create(obj): 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.tweak_layers = [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, False] + pbone.rigify_parameters.tweak_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] except AttributeError: pass - pbone = obj.pose.bones[bones['chest_fin.Bot.R']] - pbone.rigify_type = 'basic.super_copy' + try: + pbone.rigify_parameters.primary_rotation_axis = "Z" + except AttributeError: + pass + pbone = obj.pose.bones[bones['back_fin.B.Bk']] + pbone.rigify_type = 'limbs.super_finger' pbone.lock_location = (False, False, False) pbone.lock_rotation = (False, False, False) pbone.lock_rotation_w = False @@ -576,7 +544,11 @@ def create(obj): 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.tweak_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] + pbone.rigify_parameters.tweak_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] + except AttributeError: + pass + try: + pbone.rigify_parameters.primary_rotation_axis = "Z" except AttributeError: pass pbone = obj.pose.bones[bones['spine.005']] @@ -599,14 +571,38 @@ def create(obj): pbone.rigify_parameters.tweak_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: pass - pbone = obj.pose.bones[bones['spine.006']] + pbone = obj.pose.bones[bones['back_fin.T.001.Bk']] + pbone.rigify_type = '' + pbone.lock_location = (False, False, False) + pbone.lock_rotation = (False, False, False) + pbone.lock_rotation_w = False + 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] + pbone = obj.pose.bones[bones['back_fin.B.001.Bk']] pbone.rigify_type = '' pbone.lock_location = (False, False, False) pbone.lock_rotation = (False, False, False) pbone.lock_rotation_w = False 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] + pbone = obj.pose.bones[bones['spine.006']] + pbone.rigify_type = 'spines.super_head' + pbone.lock_location = (False, False, False) + pbone.lock_rotation = (False, False, False) + pbone.lock_rotation_w = False + pbone.lock_scale = (False, False, False) + 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] + try: + pbone.rigify_parameters.tweak_layers = [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, False] + except AttributeError: + pass + try: + pbone.rigify_parameters.connect_chain = True + except AttributeError: + pass pbone = obj.pose.bones[bones['shoulder.L']] pbone.rigify_type = 'basic.super_copy' pbone.lock_location = (False, False, False) @@ -639,6 +635,14 @@ 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] + pbone = obj.pose.bones[bones['back_fin.T.002.Bk']] + pbone.rigify_type = '' + pbone.lock_location = (False, False, False) + pbone.lock_rotation = (False, False, False) + pbone.lock_rotation_w = False + 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] pbone = obj.pose.bones[bones['spine.007']] pbone.rigify_type = '' pbone.lock_location = (False, False, False) @@ -790,5 +794,7 @@ def create(obj): arm.layers = [(x in [0, 3, 5, 6, 8, 10]) for x in range(32)] + return bones + if __name__ == "__main__": create(bpy.context.active_object) diff --git a/rigify/metarigs/Animals/wolf.py b/rigify/metarigs/Animals/wolf.py index 4cccf085..1ed5e947 100644 --- a/rigify/metarigs/Animals/wolf.py +++ b/rigify/metarigs/Animals/wolf.py @@ -165,40 +165,19 @@ def create(obj): bones = {} - bone = arm.edit_bones.new('spine') - bone.head[:] = 0.0000, 1.1044, 0.7633 - bone.tail[:] = 0.0000, 0.9624, 0.7412 - bone.roll = 0.0000 - bone.use_connect = False - bones['spine'] = bone.name - bone = arm.edit_bones.new('spine.001') - bone.head[:] = 0.0000, 0.9624, 0.7412 - bone.tail[:] = 0.0000, 0.7755, 0.7418 - bone.roll = 0.0000 - bone.use_connect = True - bone.parent = arm.edit_bones[bones['spine']] - bones['spine.001'] = bone.name - bone = arm.edit_bones.new('spine.002') - bone.head[:] = 0.0000, 0.7755, 0.7418 - bone.tail[:] = 0.0000, 0.5547, 0.7568 - bone.roll = 0.0000 - bone.use_connect = True - bone.parent = arm.edit_bones[bones['spine.001']] - bones['spine.002'] = bone.name - bone = arm.edit_bones.new('spine.003') - bone.head[:] = 0.0000, 0.5547, 0.7568 - bone.tail[:] = 0.0000, 0.4418, 0.7954 - bone.roll = 0.0000 - bone.use_connect = True - bone.parent = arm.edit_bones[bones['spine.002']] - bones['spine.003'] = bone.name bone = arm.edit_bones.new('spine.004') bone.head[:] = 0.0000, 0.4418, 0.7954 bone.tail[:] = 0.0000, 0.3546, 0.8059 bone.roll = 0.0000 - bone.use_connect = True - bone.parent = arm.edit_bones[bones['spine.003']] + bone.use_connect = False bones['spine.004'] = bone.name + bone = arm.edit_bones.new('spine.003') + bone.head[:] = 0.0000, 0.4418, 0.7954 + bone.tail[:] = 0.0000, 0.5547, 0.7568 + bone.roll = 0.0000 + bone.use_connect = False + bone.parent = arm.edit_bones[bones['spine.004']] + bones['spine.003'] = bone.name bone = arm.edit_bones.new('spine.005') bone.head[:] = 0.0000, 0.3546, 0.8059 bone.tail[:] = 0.0000, 0.1803, 0.7782 @@ -206,6 +185,13 @@ def create(obj): bone.use_connect = True bone.parent = arm.edit_bones[bones['spine.004']] bones['spine.005'] = bone.name + bone = arm.edit_bones.new('spine.002') + bone.head[:] = 0.0000, 0.5547, 0.7568 + bone.tail[:] = 0.0000, 0.7755, 0.7418 + bone.roll = 0.0000 + bone.use_connect = True + bone.parent = arm.edit_bones[bones['spine.003']] + bones['spine.002'] = bone.name bone = arm.edit_bones.new('spine.006') bone.head[:] = 0.0000, 0.1803, 0.7782 bone.tail[:] = 0.0000, 0.0319, 0.7731 @@ -241,6 +227,13 @@ def create(obj): bone.use_connect = False bone.parent = arm.edit_bones[bones['spine.005']] bones['thigh.R'] = bone.name + bone = arm.edit_bones.new('spine.001') + bone.head[:] = 0.0000, 0.7755, 0.7418 + bone.tail[:] = 0.0000, 0.9624, 0.7412 + bone.roll = 0.0000 + bone.use_connect = True + bone.parent = arm.edit_bones[bones['spine.002']] + bones['spine.001'] = bone.name bone = arm.edit_bones.new('spine.007') bone.head[:] = 0.0000, 0.0319, 0.7731 bone.tail[:] = 0.0000, -0.0980, 0.7945 @@ -262,6 +255,13 @@ def create(obj): bone.use_connect = True bone.parent = arm.edit_bones[bones['thigh.R']] bones['shin.R'] = bone.name + bone = arm.edit_bones.new('spine') + bone.head[:] = 0.0000, 0.9624, 0.7412 + bone.tail[:] = 0.0000, 1.1044, 0.7633 + bone.roll = 0.0000 + bone.use_connect = True + bone.parent = arm.edit_bones[bones['spine.001']] + bones['spine'] = bone.name bone = arm.edit_bones.new('spine.008') bone.head[:] = 0.0000, -0.0980, 0.7945 bone.tail[:] = 0.0000, -0.3618, 0.8375 @@ -287,7 +287,7 @@ def create(obj): bone.head[:] = 0.0000, -0.3618, 0.8375 bone.tail[:] = 0.0000, -0.4253, 0.8585 bone.roll = 0.0000 - bone.use_connect = True + bone.use_connect = False bone.parent = arm.edit_bones[bones['spine.008']] bones['spine.009'] = bone.name bone = arm.edit_bones.new('shoulder.L') @@ -1496,63 +1496,63 @@ def create(obj): bones['brow.T.R.003'] = bone.name bpy.ops.object.mode_set(mode='OBJECT') - pbone = obj.pose.bones[bones['spine']] - pbone.rigify_type = 'spines.super_spine' + pbone = obj.pose.bones[bones['spine.004']] + pbone.rigify_type = 'spines.basic_spine' pbone.lock_location = (False, False, False) pbone.lock_rotation = (False, False, False) pbone.lock_rotation_w = False pbone.lock_scale = (False, False, False) pbone.rotation_mode = 'QUATERNION' - pbone.bone.layers = [False, 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] + 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] try: - pbone.rigify_parameters.tweak_layers = [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, False] + pbone.rigify_parameters.pivot_pos = 4 except AttributeError: pass try: - pbone.rigify_parameters.use_tail = True + pbone.rigify_parameters.tweak_layers = [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, False] except AttributeError: pass try: - pbone.rigify_parameters.tail_pos = 4 + pbone.rigify_parameters.fk_layers = [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, False] except AttributeError: pass + pbone = obj.pose.bones[bones['spine.003']] + pbone.rigify_type = 'spines.basic_tail' + pbone.lock_location = (False, False, False) + pbone.lock_rotation = (False, False, False) + pbone.lock_rotation_w = False + pbone.lock_scale = (False, False, False) + pbone.rotation_mode = 'QUATERNION' + pbone.bone.layers = [False, 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] try: - pbone.rigify_parameters.pivot_pos = 8 + pbone.rigify_parameters.copy_rotation_axes = [True, False, True] except AttributeError: pass try: - pbone.rigify_parameters.neck_pos = 10 + pbone.rigify_parameters.tweak_layers = [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, False] except AttributeError: pass try: - pbone.rigify_parameters.copy_rotation_axes = [True, False, True] + pbone.rigify_parameters.connect_chain = True except AttributeError: pass - pbone = obj.pose.bones[bones['spine.001']] - pbone.rigify_type = '' - pbone.lock_location = (False, False, False) - pbone.lock_rotation = (False, False, False) - pbone.lock_rotation_w = False - pbone.lock_scale = (False, False, False) - pbone.rotation_mode = 'QUATERNION' - pbone.bone.layers = [False, 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] - pbone = obj.pose.bones[bones['spine.002']] + pbone = obj.pose.bones[bones['spine.005']] pbone.rigify_type = '' pbone.lock_location = (False, False, False) pbone.lock_rotation = (False, False, False) pbone.lock_rotation_w = False pbone.lock_scale = (False, False, False) pbone.rotation_mode = 'QUATERNION' - pbone.bone.layers = [False, 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] + 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] try: - pbone.rigify_parameters.tweak_extra_layers = False + pbone.rigify_parameters.neck_pos = 5 except AttributeError: pass try: - pbone.rigify_parameters.tweak_layers = [False, True, False, False, 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] + pbone.rigify_parameters.tweak_layers = [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, False] except AttributeError: pass - pbone = obj.pose.bones[bones['spine.003']] + pbone = obj.pose.bones[bones['spine.002']] pbone.rigify_type = '' pbone.lock_location = (False, False, False) pbone.lock_rotation = (False, False, False) @@ -1560,28 +1560,8 @@ 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, False, False, False, False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False] - pbone = obj.pose.bones[bones['spine.004']] - pbone.rigify_type = '' - pbone.lock_location = (False, False, False) - pbone.lock_rotation = (False, False, False) - pbone.lock_rotation_w = False - pbone.lock_scale = (False, False, False) - 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['spine.005']] - pbone.rigify_type = '' - pbone.lock_location = (False, False, False) - pbone.lock_rotation = (False, False, False) - pbone.lock_rotation_w = False - pbone.lock_scale = (False, False, False) - 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] try: - pbone.rigify_parameters.neck_pos = 5 - except AttributeError: - pass - try: - pbone.rigify_parameters.tweak_layers = [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, False] + pbone.rigify_parameters.tweak_layers = [False, True, False, False, 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] except AttributeError: pass pbone = obj.pose.bones[bones['spine.006']] @@ -1656,6 +1636,14 @@ def create(obj): pbone.rigify_parameters.limb_type = "paw" except AttributeError: pass + pbone = obj.pose.bones[bones['spine.001']] + pbone.rigify_type = '' + pbone.lock_location = (False, False, False) + pbone.lock_rotation = (False, False, False) + pbone.lock_rotation_w = False + pbone.lock_scale = (False, False, False) + pbone.rotation_mode = 'QUATERNION' + pbone.bone.layers = [False, 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] pbone = obj.pose.bones[bones['spine.007']] pbone.rigify_type = '' pbone.lock_location = (False, False, False) @@ -1680,6 +1668,14 @@ 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, False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False] + pbone = obj.pose.bones[bones['spine']] + pbone.rigify_type = '' + pbone.lock_location = (False, False, False) + pbone.lock_rotation = (False, False, False) + pbone.lock_rotation_w = False + pbone.lock_scale = (False, False, False) + pbone.rotation_mode = 'QUATERNION' + pbone.bone.layers = [False, 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] pbone = obj.pose.bones[bones['spine.008']] pbone.rigify_type = '' pbone.lock_location = (False, False, False) @@ -1705,13 +1701,21 @@ def create(obj): pbone.rotation_mode = 'QUATERNION' pbone.bone.layers = [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, False] pbone = obj.pose.bones[bones['spine.009']] - pbone.rigify_type = '' + pbone.rigify_type = 'spines.super_head' pbone.lock_location = (False, False, False) pbone.lock_rotation = (False, False, False) pbone.lock_rotation_w = False pbone.lock_scale = (False, False, False) 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] + try: + pbone.rigify_parameters.connect_chain = True + except AttributeError: + pass + try: + pbone.rigify_parameters.tweak_layers = [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, False] + except AttributeError: + pass pbone = obj.pose.bones[bones['shoulder.L']] pbone.rigify_type = 'basic.super_copy' pbone.lock_location = (False, False, False) @@ -3223,5 +3227,7 @@ def create(obj): arm.layers = [(x in [0, 3, 4, 5, 7, 10, 13, 16, 19]) for x in range(32)] + return bones + if __name__ == "__main__": create(bpy.context.active_object) diff --git a/rigify/metarigs/Basic/basic_human.py b/rigify/metarigs/Basic/basic_human.py index 01367a7b..2afbb0f9 100644 --- a/rigify/metarigs/Basic/basic_human.py +++ b/rigify/metarigs/Basic/basic_human.py @@ -252,7 +252,7 @@ def create(obj): bone.head[:] = 0.0000, 0.0114, 1.6582 bone.tail[:] = 0.0000, -0.0130, 1.7197 bone.roll = 0.0000 - bone.use_connect = True + bone.use_connect = False bone.parent = arm.edit_bones[bones['spine.003']] bones['spine.004'] = bone.name bone = arm.edit_bones.new('shoulder.L') @@ -370,7 +370,7 @@ def create(obj): bpy.ops.object.mode_set(mode='OBJECT') pbone = obj.pose.bones[bones['spine']] - pbone.rigify_type = 'spines.super_spine' + pbone.rigify_type = 'spines.basic_spine' pbone.lock_location = (False, False, False) pbone.lock_rotation = (False, False, False) pbone.lock_rotation_w = False @@ -378,11 +378,11 @@ 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] try: - pbone.rigify_parameters.neck_pos = 5 + pbone.rigify_parameters.tweak_layers = [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, False] except AttributeError: pass try: - pbone.rigify_parameters.tweak_layers = [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, False] + pbone.rigify_parameters.fk_layers = [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, False] except AttributeError: pass pbone = obj.pose.bones[bones['spine.001']] @@ -506,13 +506,21 @@ def create(obj): pbone.rotation_mode = 'QUATERNION' pbone.bone.layers = [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, False] pbone = obj.pose.bones[bones['spine.004']] - pbone.rigify_type = '' + pbone.rigify_type = 'spines.super_head' pbone.lock_location = (False, False, False) pbone.lock_rotation = (False, False, False) pbone.lock_rotation_w = False pbone.lock_scale = (False, False, False) 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] + try: + pbone.rigify_parameters.connect_chain = True + except AttributeError: + pass + try: + pbone.rigify_parameters.tweak_layers = [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, False] + except AttributeError: + pass pbone = obj.pose.bones[bones['shoulder.L']] pbone.rigify_type = 'basic.super_copy' pbone.lock_location = (False, False, False) diff --git a/rigify/metarigs/Basic/basic_quadruped.py b/rigify/metarigs/Basic/basic_quadruped.py index 5aa9f657..7743ba05 100644 --- a/rigify/metarigs/Basic/basic_quadruped.py +++ b/rigify/metarigs/Basic/basic_quadruped.py @@ -165,40 +165,40 @@ def create(obj): bones = {} - bone = arm.edit_bones.new('spine') - bone.head[:] = 0.0000, 1.1044, 0.7633 - bone.tail[:] = 0.0000, 0.9624, 0.7412 + bone = arm.edit_bones.new('spine.004') + bone.head[:] = 0.0000, 0.4418, 0.7954 + bone.tail[:] = 0.0000, 0.3546, 0.8059 bone.roll = 0.0000 bone.use_connect = False - bones['spine'] = bone.name - bone = arm.edit_bones.new('spine.001') - bone.head[:] = 0.0000, 0.9624, 0.7412 - bone.tail[:] = 0.0000, 0.7755, 0.7418 + bones['spine.004'] = bone.name + bone = arm.edit_bones.new('spine.003') + bone.head[:] = 0.0000, 0.4418, 0.7954 + bone.tail[:] = 0.0000, 0.5547, 0.7568 bone.roll = 0.0000 - bone.use_connect = True - bone.parent = arm.edit_bones[bones['spine']] - bones['spine.001'] = bone.name + bone.use_connect = False + bone.parent = arm.edit_bones[bones['spine.004']] + bones['spine.003'] = bone.name bone = arm.edit_bones.new('spine.002') - bone.head[:] = 0.0000, 0.7755, 0.7418 - bone.tail[:] = 0.0000, 0.5547, 0.7568 + bone.head[:] = 0.0000, 0.5547, 0.7568 + bone.tail[:] = 0.0000, 0.7755, 0.7418 bone.roll = 0.0000 bone.use_connect = True - bone.parent = arm.edit_bones[bones['spine.001']] + bone.parent = arm.edit_bones[bones['spine.003']] bones['spine.002'] = bone.name - bone = arm.edit_bones.new('spine.003') - bone.head[:] = 0.0000, 0.5547, 0.7568 - bone.tail[:] = 0.0000, 0.4418, 0.7954 + bone = arm.edit_bones.new('spine.001') + bone.head[:] = 0.0000, 0.7755, 0.7418 + bone.tail[:] = 0.0000, 0.9624, 0.7412 bone.roll = 0.0000 bone.use_connect = True bone.parent = arm.edit_bones[bones['spine.002']] - bones['spine.003'] = bone.name - bone = arm.edit_bones.new('spine.004') - bone.head[:] = 0.0000, 0.4418, 0.7954 - bone.tail[:] = 0.0000, 0.3546, 0.8059 + bones['spine.001'] = bone.name + bone = arm.edit_bones.new('spine') + bone.head[:] = 0.0000, 0.9624, 0.7412 + bone.tail[:] = 0.0000, 1.1044, 0.7633 bone.roll = 0.0000 bone.use_connect = True - bone.parent = arm.edit_bones[bones['spine.003']] - bones['spine.004'] = bone.name + bone.parent = arm.edit_bones[bones['spine.001']] + bones['spine'] = bone.name bone = arm.edit_bones.new('spine.005') bone.head[:] = 0.0000, 0.3546, 0.8059 bone.tail[:] = 0.0000, 0.1803, 0.7782 @@ -287,7 +287,7 @@ def create(obj): bone.head[:] = 0.0000, -0.3618, 0.8375 bone.tail[:] = 0.0000, -0.4253, 0.8585 bone.roll = 0.0000 - bone.use_connect = True + bone.use_connect = False bone.parent = arm.edit_bones[bones['spine.008']] bones['spine.009'] = bone.name bone = arm.edit_bones.new('shoulder.L') @@ -405,37 +405,13 @@ def create(obj): bpy.ops.object.mode_set(mode='OBJECT') pbone = obj.pose.bones[bones['spine']] - pbone.rigify_type = 'spines.super_spine' + pbone.rigify_type = '' pbone.lock_location = (False, False, False) pbone.lock_rotation = (False, False, False) pbone.lock_rotation_w = False pbone.lock_scale = (False, False, False) pbone.rotation_mode = 'QUATERNION' pbone.bone.layers = [False, 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] - try: - pbone.rigify_parameters.tweak_layers = [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, False] - except AttributeError: - pass - try: - pbone.rigify_parameters.use_tail = True - except AttributeError: - pass - try: - pbone.rigify_parameters.tail_pos = 4 - except AttributeError: - pass - try: - pbone.rigify_parameters.pivot_pos = 8 - except AttributeError: - pass - try: - pbone.rigify_parameters.neck_pos = 10 - except AttributeError: - pass - try: - pbone.rigify_parameters.copy_rotation_axes = [True, False, True] - except AttributeError: - pass pbone = obj.pose.bones[bones['spine.001']] pbone.rigify_type = '' pbone.lock_location = (False, False, False) @@ -452,30 +428,42 @@ 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, False, False, False, False, False, False, False, False, False, True, False, False, False, False, False, False, False, False, False, False, False, False] - try: - pbone.rigify_parameters.tweak_extra_layers = False - except AttributeError: - pass - try: - pbone.rigify_parameters.tweak_layers = [False, True, False, False, 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] - except AttributeError: - pass pbone = obj.pose.bones[bones['spine.003']] - pbone.rigify_type = '' + pbone.rigify_type = 'spines.basic_tail' pbone.lock_location = (False, False, False) pbone.lock_rotation = (False, False, False) pbone.lock_rotation_w = False pbone.lock_scale = (False, False, False) pbone.rotation_mode = 'QUATERNION' pbone.bone.layers = [False, 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] + try: + pbone.rigify_parameters.connect_chain = True + except AttributeError: + pass + try: + pbone.rigify_parameters.tweak_layers = [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, False] + except AttributeError: + pass pbone = obj.pose.bones[bones['spine.004']] - pbone.rigify_type = '' + pbone.rigify_type = 'spines.basic_spine' pbone.lock_location = (False, False, False) pbone.lock_rotation = (False, False, False) pbone.lock_rotation_w = False pbone.lock_scale = (False, False, False) 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] + try: + pbone.rigify_parameters.pivot_pos = 4 + except AttributeError: + pass + try: + pbone.rigify_parameters.tweak_layers = [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, False] + except AttributeError: + pass + try: + pbone.rigify_parameters.fk_layers = [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, False] + except AttributeError: + pass pbone = obj.pose.bones[bones['spine.005']] pbone.rigify_type = '' pbone.lock_location = (False, False, False) @@ -484,14 +472,6 @@ def create(obj): pbone.lock_scale = (False, False, False) 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] - try: - pbone.rigify_parameters.neck_pos = 5 - except AttributeError: - pass - try: - pbone.rigify_parameters.tweak_layers = [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, False] - except AttributeError: - pass pbone = obj.pose.bones[bones['spine.006']] pbone.rigify_type = '' pbone.lock_location = (False, False, False) @@ -613,13 +593,21 @@ def create(obj): pbone.rotation_mode = 'QUATERNION' pbone.bone.layers = [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, False] pbone = obj.pose.bones[bones['spine.009']] - pbone.rigify_type = '' + pbone.rigify_type = 'spines.super_head' pbone.lock_location = (False, False, False) pbone.lock_rotation = (False, False, False) pbone.lock_rotation_w = False pbone.lock_scale = (False, False, False) 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] + try: + pbone.rigify_parameters.connect_chain = True + except AttributeError: + pass + try: + pbone.rigify_parameters.tweak_layers = [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, False] + except AttributeError: + pass pbone = obj.pose.bones[bones['shoulder.L']] pbone.rigify_type = 'basic.super_copy' pbone.lock_location = (False, False, False) diff --git a/rigify/metarigs/human.py b/rigify/metarigs/human.py index bbba8eed..9d6f914e 100644 --- a/rigify/metarigs/human.py +++ b/rigify/metarigs/human.py @@ -252,7 +252,7 @@ def create(obj): bone.head[:] = 0.0000, 0.0114, 1.6582 bone.tail[:] = 0.0000, -0.0130, 1.7197 bone.roll = 0.0000 - bone.use_connect = True + bone.use_connect = False bone.parent = arm.edit_bones[bones['spine.003']] bones['spine.004'] = bone.name bone = arm.edit_bones.new('shoulder.L') @@ -1280,7 +1280,7 @@ def create(obj): bpy.ops.object.mode_set(mode='OBJECT') pbone = obj.pose.bones[bones['spine']] - pbone.rigify_type = 'spines.super_spine' + pbone.rigify_type = 'spines.basic_spine' pbone.lock_location = (False, False, False) pbone.lock_rotation = (False, False, False) pbone.lock_rotation_w = False @@ -1288,11 +1288,11 @@ 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] try: - pbone.rigify_parameters.neck_pos = 5 + pbone.rigify_parameters.tweak_layers = [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, False] except AttributeError: pass try: - pbone.rigify_parameters.tweak_layers = [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, False] + pbone.rigify_parameters.fk_layers = [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, False] except AttributeError: pass pbone = obj.pose.bones[bones['spine.001']] @@ -1416,13 +1416,21 @@ def create(obj): pbone.rotation_mode = 'QUATERNION' pbone.bone.layers = [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, False] pbone = obj.pose.bones[bones['spine.004']] - pbone.rigify_type = '' + pbone.rigify_type = 'spines.super_head' pbone.lock_location = (False, False, False) pbone.lock_rotation = (False, False, False) pbone.lock_rotation_w = False pbone.lock_scale = (False, False, False) 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] + try: + pbone.rigify_parameters.connect_chain = True + except AttributeError: + pass + try: + pbone.rigify_parameters.tweak_layers = [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, False] + except AttributeError: + pass pbone = obj.pose.bones[bones['shoulder.L']] pbone.rigify_type = 'basic.super_copy' pbone.lock_location = (False, False, False) |