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

git.blender.org/blender-addons.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Gavrilov <angavrilov@gmail.com>2019-10-15 16:50:44 +0300
committerAlexander Gavrilov <angavrilov@gmail.com>2019-10-15 17:02:38 +0300
commitdd723151763d8ee3b5c2c94f6c4b5c1ac43b8b59 (patch)
tree5a15f3067134c18a249df434b1feb6587080900e /rigify/metarigs
parentf4c101d692eee45484025762d77df751538d0da4 (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.py188
-rw-r--r--rigify/metarigs/Animals/cat.py146
-rw-r--r--rigify/metarigs/Animals/horse.py191
-rw-r--r--rigify/metarigs/Animals/shark.py276
-rw-r--r--rigify/metarigs/Animals/wolf.py154
-rw-r--r--rigify/metarigs/Basic/basic_human.py18
-rw-r--r--rigify/metarigs/Basic/basic_quadruped.py122
-rw-r--r--rigify/metarigs/human.py18
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)