[Bf-extensions-cvs] [dd723151] master: Rigify: implement FK controls for basic_spine with an option to disable.

Alexander Gavrilov noreply at git.blender.org
Tue Oct 15 16:05:12 CEST 2019


Commit: dd723151763d8ee3b5c2c94f6c4b5c1ac43b8b59
Author: Alexander Gavrilov
Date:   Tue Oct 15 16:50:44 2019 +0300
Branches: master
https://developer.blender.org/rBAdd723151763d8ee3b5c2c94f6c4b5c1ac43b8b59

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.

===================================================================

M	rigify/metarigs/Animals/bird.py
M	rigify/metarigs/Animals/cat.py
M	rigify/metarigs/Animals/horse.py
M	rigify/metarigs/Animals/shark.py
M	rigify/metarigs/Animals/wolf.py
M	rigify/metarigs/Basic/basic_human.py
M	rigify/metarigs/Basic/basic_quadruped.py
M	rigify/metarigs/human.py
M	rigify/rigs/spines/basic_spine.py
M	rigify/rigs/spines/super_spine.py

===================================================================

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, Fa

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-extensions-cvs mailing list