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.
This commit is contained in:
parent
f4c101d692
commit
dd72315176
|
@ -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.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
|
||||
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']]
|
||||
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']]
|
||||
bone.use_connect = False
|
||||
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 = False
|
||||
bone.parent = arm.edit_bones[bones['spine.003']]
|
||||
bones['spine.002'] = 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,21 +700,25 @@ 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
|
||||
pbone.rigify_parameters.pivot_pos = 1
|
||||
except AttributeError:
|
||||
pass
|
||||
try:
|
||||
pbone.rigify_parameters.tail_pos = 3
|
||||
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.pivot_pos = 4
|
||||
except AttributeError:
|
||||
pass
|
||||
try:
|
||||
pbone.rigify_parameters.neck_pos = 8
|
||||
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.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]
|
||||
try:
|
||||
pbone.rigify_parameters.copy_rotation_axes = [True, False, True]
|
||||
except AttributeError:
|
||||
|
@ -723,54 +727,10 @@ def create(obj):
|
|||
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, 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.connect_chain = 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
|
||||
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']]
|
||||
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 = ''
|
||||
pbone.lock_location = (False, False, False)
|
||||
|
@ -779,6 +739,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.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, 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)
|
||||
|
@ -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,8 +946,11 @@ 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:
|
||||
|
@ -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)
|
||||
|
|
|
@ -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,64 +1384,8 @@ 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.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
|
||||
try:
|
||||
pbone.rigify_parameters.tail_pos = 4
|
||||
except AttributeError:
|
||||
pass
|
||||
try:
|
||||
pbone.rigify_parameters.copy_rotation_axes = [True, True, True]
|
||||
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.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, 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]
|
||||
except AttributeError:
|
||||
pass
|
||||
pbone = obj.pose.bones[bones['spine']]
|
||||
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
|
||||
|
@ -1449,11 +1393,31 @@ 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, 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.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, 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.001']]
|
||||
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.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]
|
||||
except AttributeError:
|
||||
pass
|
||||
try:
|
||||
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)
|
||||
|
|
|
@ -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,61 +645,29 @@ def create(obj):
|
|||
except AttributeError:
|
||||
pass
|
||||
try:
|
||||
pbone.rigify_parameters.use_tail = True
|
||||
except AttributeError:
|
||||
pass
|
||||
try:
|
||||
pbone.rigify_parameters.pivot_pos = 8
|
||||
except AttributeError:
|
||||
pass
|
||||
try:
|
||||
pbone.rigify_parameters.tail_pos = 5
|
||||
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.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, 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)
|
||||
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)
|
||||
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 = ''
|
||||
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]
|
||||
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.006']]
|
||||
pbone.rigify_type = ''
|
||||
pbone.lock_location = (False, False, False)
|
||||
|
@ -709,6 +676,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.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.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)
|
||||
|
|
|
@ -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,27 +420,31 @@ 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
|
||||
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
|
||||
try:
|
||||
pbone.rigify_parameters.copy_rotation_axes = [True, False, True]
|
||||
except AttributeError:
|
||||
pass
|
||||
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, 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.tail_pos = 3
|
||||
except AttributeError:
|
||||
pass
|
||||
try:
|
||||
pbone.rigify_parameters.pivot_pos = 5
|
||||
except AttributeError:
|
||||
pass
|
||||
try:
|
||||
pbone.rigify_parameters.use_tail = True
|
||||
except AttributeError:
|
||||
pass
|
||||
try:
|
||||
pbone.rigify_parameters.copy_rotation_axes = [True, False, 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.001']]
|
||||
|
@ -451,39 +455,15 @@ 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['back_fin.T.Bk']]
|
||||
pbone.rigify_type = 'limbs.super_finger'
|
||||
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]
|
||||
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.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['spine.002']]
|
||||
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)
|
||||
|
@ -507,46 +487,6 @@ def create(obj):
|
|||
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.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.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, 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.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 = ''
|
||||
pbone.lock_location = (False, False, False)
|
||||
|
@ -579,6 +519,38 @@ def create(obj):
|
|||
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
|
||||
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.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['spine.005']]
|
||||
pbone.rigify_type = ''
|
||||
pbone.lock_location = (False, False, False)
|
||||
|
@ -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)
|
||||
|
|
|
@ -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,78 +1496,46 @@ 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.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)
|
||||
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)
|
||||
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_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.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 = ''
|
||||
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.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.copy_rotation_axes = [True, False, 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
|
||||
try:
|
||||
pbone.rigify_parameters.connect_chain = True
|
||||
except AttributeError:
|
||||
pass
|
||||
pbone = obj.pose.bones[bones['spine.005']]
|
||||
pbone.rigify_type = ''
|
||||
pbone.lock_location = (False, False, False)
|
||||
|
@ -1584,6 +1552,18 @@ def create(obj):
|
|||
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, 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, 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']]
|
||||
pbone.rigify_type = ''
|
||||
pbone.lock_location = (False, False, False)
|
||||
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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.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 = 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.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.004'] = bone.name
|
||||
bones['spine.002'] = 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')
|
||||
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.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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -19,13 +19,16 @@
|
|||
# <pep8 compliant>
|
||||
|
||||
import bpy
|
||||
import math
|
||||
|
||||
from itertools import count, repeat
|
||||
from mathutils import Matrix
|
||||
|
||||
from ...utils.errors import MetarigError
|
||||
from ...utils.layers import ControlLayersOption
|
||||
from ...utils.naming import strip_org, make_deformer_name, make_mechanism_name
|
||||
from ...utils.bones import BoneDict, put_bone, align_bone_to_axis
|
||||
from ...utils.naming import strip_org, make_deformer_name, make_mechanism_name, make_derived_name
|
||||
from ...utils.bones import BoneDict, put_bone, align_bone_to_axis, align_bone_orientation
|
||||
from ...utils.widgets import adjust_widget_transform_mesh
|
||||
from ...utils.widgets_basic import create_circle_widget
|
||||
from ...utils.misc import map_list
|
||||
|
||||
|
@ -43,6 +46,7 @@ class Rig(BaseSpineRig):
|
|||
|
||||
# Check if user provided the pivot position
|
||||
self.pivot_pos = self.params.pivot_pos
|
||||
self.use_fk = self.params.make_fk_controls
|
||||
|
||||
if not (0 < self.pivot_pos < len(self.bones.org)):
|
||||
self.raise_error("Please specify a valid pivot bone position.")
|
||||
|
@ -55,6 +59,9 @@ class Rig(BaseSpineRig):
|
|||
# ctrl:
|
||||
# master, hips, chest:
|
||||
# Main controls.
|
||||
# fk:
|
||||
# chest[], hips[]:
|
||||
# FK controls.
|
||||
# tweak[]:
|
||||
# Tweak control chain.
|
||||
# mch:
|
||||
|
@ -85,7 +92,7 @@ class Rig(BaseSpineRig):
|
|||
# Main control bones
|
||||
|
||||
@stage.generate_bones
|
||||
def make_control_chain(self):
|
||||
def make_end_control_bones(self):
|
||||
orgs = self.bones.org
|
||||
pivot = self.pivot_pos
|
||||
|
||||
|
@ -103,33 +110,89 @@ class Rig(BaseSpineRig):
|
|||
return name
|
||||
|
||||
@stage.parent_bones
|
||||
def parent_control_chain(self):
|
||||
def parent_end_control_bones(self):
|
||||
ctrl = self.bones.ctrl
|
||||
self.set_bone_parent(ctrl.hips, ctrl.master)
|
||||
self.set_bone_parent(ctrl.chest, ctrl.master)
|
||||
|
||||
@stage.configure_bones
|
||||
def configure_control_chain(self):
|
||||
pass
|
||||
|
||||
@stage.generate_widgets
|
||||
def make_control_widgets(self):
|
||||
def make_end_control_widgets(self):
|
||||
ctrl = self.bones.ctrl
|
||||
mch = self.bones.mch
|
||||
self.make_control_widget(ctrl.hips, mch.wgt_hips)
|
||||
self.make_control_widget(ctrl.chest, mch.wgt_chest)
|
||||
self.make_end_control_widget(ctrl.hips, mch.wgt_hips)
|
||||
self.make_end_control_widget(ctrl.chest, mch.wgt_chest)
|
||||
|
||||
def make_control_widget(self, ctrl, wgt_mch):
|
||||
self.get_bone(ctrl).custom_shape_transform = self.get_bone(wgt_mch)
|
||||
def make_end_control_widget(self, ctrl, wgt_mch):
|
||||
shape_bone = self.get_bone(wgt_mch)
|
||||
is_horizontal = abs(shape_bone.z_axis.normalized().y) < 0.7
|
||||
|
||||
create_circle_widget(
|
||||
self.get_bone(ctrl).custom_shape_transform = shape_bone
|
||||
|
||||
obj = create_circle_widget(
|
||||
self.obj, ctrl,
|
||||
radius=1.0,
|
||||
radius=1.2 if is_horizontal else 1.1,
|
||||
head_tail=0.0,
|
||||
head_tail_x=1.0,
|
||||
with_line=False,
|
||||
)
|
||||
|
||||
if is_horizontal:
|
||||
# Tilt the widget toward the ground for horizontal (animal) spines
|
||||
angle = math.copysign(28, shape_bone.x_axis.x)
|
||||
rotmat = Matrix.Rotation(math.radians(angle), 4, 'X')
|
||||
adjust_widget_transform_mesh(obj, rotmat, local=True)
|
||||
|
||||
####################################################
|
||||
# FK control bones
|
||||
|
||||
@stage.generate_bones
|
||||
def make_control_chain(self):
|
||||
if self.use_fk:
|
||||
orgs = self.bones.org
|
||||
self.bones.ctrl.fk = self.fk_result = BoneDict(
|
||||
hips = map_list(self.make_control_bone, count(0), orgs[0:self.pivot_pos], repeat(True)),
|
||||
chest = map_list(self.make_control_bone, count(self.pivot_pos), orgs[self.pivot_pos:], repeat(False)),
|
||||
)
|
||||
|
||||
def make_control_bone(self, i, org, is_hip):
|
||||
name = self.copy_bone(org, make_derived_name(org, 'ctrl', '_fk'), parent=False)
|
||||
if is_hip:
|
||||
put_bone(self.obj, name, self.get_bone(name).tail)
|
||||
return name
|
||||
|
||||
@stage.parent_bones
|
||||
def parent_control_chain(self):
|
||||
if self.use_fk:
|
||||
chain = self.bones.mch.chain
|
||||
fk = self.bones.ctrl.fk
|
||||
for child, parent in zip(fk.hips, chain.hips):
|
||||
self.set_bone_parent(child, parent)
|
||||
for child, parent in zip(fk.chest, chain.chest):
|
||||
self.set_bone_parent(child, parent)
|
||||
|
||||
@stage.configure_bones
|
||||
def configure_control_chain(self):
|
||||
if self.use_fk:
|
||||
fk = self.bones.ctrl.fk
|
||||
for args in zip(count(0), fk.hips + fk.chest, self.bones.org):
|
||||
self.configure_control_bone(*args)
|
||||
|
||||
ControlLayersOption.FK.assign_rig(self, fk.hips + fk.chest)
|
||||
|
||||
@stage.generate_widgets
|
||||
def make_control_widgets(self):
|
||||
if self.use_fk:
|
||||
fk = self.bones.ctrl.fk
|
||||
for ctrl in fk.hips:
|
||||
self.make_control_widget(ctrl, True)
|
||||
for ctrl in fk.chest:
|
||||
self.make_control_widget(ctrl, False)
|
||||
|
||||
def make_control_widget(self, ctrl, is_hip):
|
||||
obj = create_circle_widget(self.obj, ctrl, radius=1.0, head_tail=0.5)
|
||||
if is_hip:
|
||||
adjust_widget_transform_mesh(obj, Matrix.Diagonal((1, -1, 1, 1)), local=True)
|
||||
|
||||
####################################################
|
||||
# MCH bones associated with main controls
|
||||
|
||||
|
@ -153,16 +216,16 @@ class Rig(BaseSpineRig):
|
|||
@stage.parent_bones
|
||||
def parent_mch_control_bones(self):
|
||||
mch = self.bones.mch
|
||||
self.set_bone_parent(mch.pivot, mch.chain.chest[0])
|
||||
self.set_bone_parent(mch.wgt_hips, mch.chain.hips[0])
|
||||
self.set_bone_parent(mch.wgt_chest, mch.chain.chest[-1])
|
||||
fk = self.fk_result
|
||||
self.set_bone_parent(mch.pivot, fk.chest[0])
|
||||
self.set_bone_parent(mch.wgt_hips, fk.hips[0])
|
||||
self.set_bone_parent(mch.wgt_chest, fk.chest[-1])
|
||||
align_bone_orientation(self.obj, mch.pivot, fk.hips[-1])
|
||||
|
||||
@stage.rig_bones
|
||||
def rig_mch_control_bones(self):
|
||||
mch = self.bones.mch
|
||||
# Is it actually intending to compute average of these, or is this really intentional?
|
||||
# This effectively adds rotations of the hip and chest controls.
|
||||
self.make_constraint(mch.pivot, 'COPY_TRANSFORMS', mch.chain.hips[-1], space='LOCAL')
|
||||
self.make_constraint(mch.pivot, 'COPY_TRANSFORMS', self.fk_result.hips[-1], influence=0.5)
|
||||
|
||||
####################################################
|
||||
# MCH chain for distributing hip & chest transform
|
||||
|
@ -174,6 +237,8 @@ class Rig(BaseSpineRig):
|
|||
hips = map_list(self.make_mch_bone, orgs[0:self.pivot_pos], repeat(True)),
|
||||
chest = map_list(self.make_mch_bone, orgs[self.pivot_pos:], repeat(False)),
|
||||
)
|
||||
if not self.use_fk:
|
||||
self.fk_result = self.bones.mch.chain
|
||||
|
||||
def make_mch_bone(self, org, is_hip):
|
||||
name = self.copy_bone(org, make_mechanism_name(strip_org(org)), parent=False)
|
||||
|
@ -184,8 +249,11 @@ class Rig(BaseSpineRig):
|
|||
def parent_mch_chain(self):
|
||||
master = self.bones.ctrl.master
|
||||
chain = self.bones.mch.chain
|
||||
self.parent_bone_chain([master, *reversed(chain.hips)])
|
||||
self.parent_bone_chain([master, *chain.chest])
|
||||
fk = self.fk_result
|
||||
for child, parent in zip(reversed(chain.hips), [master, *reversed(fk.hips)]):
|
||||
self.set_bone_parent(child, parent)
|
||||
for child, parent in zip(chain.chest, [master, *fk.chest]):
|
||||
self.set_bone_parent(child, parent)
|
||||
|
||||
@stage.rig_bones
|
||||
def rig_mch_chain(self):
|
||||
|
@ -205,7 +273,7 @@ class Rig(BaseSpineRig):
|
|||
@stage.parent_bones
|
||||
def parent_tweak_chain(self):
|
||||
mch = self.bones.mch
|
||||
chain = mch.chain
|
||||
chain = self.fk_result
|
||||
parents = [chain.hips[0], *chain.hips[0:-1], mch.pivot, *chain.chest[1:], chain.chest[-1]]
|
||||
for args in zip(self.bones.ctrl.tweak, parents):
|
||||
self.set_bone_parent(*args)
|
||||
|
@ -224,6 +292,13 @@ class Rig(BaseSpineRig):
|
|||
|
||||
super().add_parameters(params)
|
||||
|
||||
params.make_fk_controls = bpy.props.BoolProperty(
|
||||
name="FK Controls", default=True,
|
||||
description="Generate an FK control chain"
|
||||
)
|
||||
|
||||
ControlLayersOption.FK.add_parameters(params)
|
||||
|
||||
@classmethod
|
||||
def parameters_ui(self, layout, params):
|
||||
r = layout.row()
|
||||
|
@ -231,6 +306,12 @@ class Rig(BaseSpineRig):
|
|||
|
||||
super().parameters_ui(layout, params)
|
||||
|
||||
layout.prop(params, 'make_fk_controls')
|
||||
|
||||
col = layout.column()
|
||||
col.active = params.make_fk_controls
|
||||
ControlLayersOption.FK.parameters_ui(col, params)
|
||||
|
||||
|
||||
def create_sample(obj):
|
||||
# generated by rigify.utils.write_metarig
|
||||
|
|
|
@ -81,7 +81,7 @@ class Rig(SubstitutionRig, BoneUtilityMixin):
|
|||
bpy.ops.object.mode_set(mode='OBJECT')
|
||||
|
||||
# Create the parts
|
||||
self.assign_params(spine_orgs[0], params_copy, pivot_pos=pivot_pos)
|
||||
self.assign_params(spine_orgs[0], params_copy, pivot_pos=pivot_pos, make_fk_controls=False)
|
||||
|
||||
result = [ self.instantiate_rig(basic_spine.Rig, spine_orgs[0]) ]
|
||||
|
||||
|
@ -133,6 +133,8 @@ def add_parameters(params):
|
|||
def parameters_ui(layout, params):
|
||||
""" Create the ui for the rig parameters."""
|
||||
|
||||
layout.label(text="Note: this combined rig is deprecated.", icon='INFO')
|
||||
|
||||
r = layout.row(align=True)
|
||||
r.prop(params, "use_head", toggle=True, text="Head")
|
||||
r.prop(params, "use_tail", toggle=True, text="Tail")
|
||||
|
|
Loading…
Reference in New Issue