22
from rigify.utils import MetarigError
23
from rigify.utils import copy_bone, new_bone, put_bone
24
from rigify.utils import connected_children_names
25
from rigify.utils import strip_org, make_mechanism_name, make_deformer_name
26
from rigify.utils import obj_to_bone, create_circle_widget
27
22
from rna_prop_ui import rna_idprop_ui_prop_get
24
from ..utils import MetarigError
25
from ..utils import copy_bone, new_bone, put_bone
26
from ..utils import connected_children_names
27
from ..utils import strip_org, make_mechanism_name, make_deformer_name
28
from ..utils import create_circle_widget
30
32
head_neck = ["%s", "%s"]
315
317
# Create control widgets
316
w1 = create_circle_widget(self.obj, neck_ctrl, radius=1.0, head_tail=0.5)
317
w2 = create_circle_widget(self.obj, head_ctrl, radius=1.0, head_tail=0.5)
320
obj_to_bone(w1, self.obj, self.org_bones[(len(self.org_bones) - 1) // 2])
322
obj_to_bone(w2, self.obj, self.org_bones[-1])
318
create_circle_widget(self.obj, neck_ctrl, radius=1.0, head_tail=0.5, bone_transform_name=self.org_bones[(len(self.org_bones) - 1) // 2])
319
create_circle_widget(self.obj, head_ctrl, radius=1.0, head_tail=0.5, bone_transform_name=self.org_bones[-1])
324
321
# Return control bones
325
322
return (head_ctrl, neck_ctrl)
344
def create_sample(self, obj):
345
# generated by rigify.utils.write_metarig
346
bpy.ops.object.mode_set(mode='EDIT')
351
bone = arm.edit_bones.new('neck')
352
bone.head[:] = 0.0000, 0.0000, 0.0000
353
bone.tail[:] = 0.0000, -0.0500, 0.1500
355
bone.use_connect = False
356
bones['neck'] = bone.name
357
bone = arm.edit_bones.new('head')
358
bone.head[:] = 0.0000, -0.0500, 0.1500
359
bone.tail[:] = 0.0000, -0.0500, 0.4000
361
bone.use_connect = True
362
bone.parent = arm.edit_bones[bones['neck']]
363
bones['head'] = bone.name
365
bpy.ops.object.mode_set(mode='OBJECT')
366
pbone = obj.pose.bones[bones['neck']]
367
pbone.rigify_type = 'neck_short'
368
pbone.lock_location = (True, True, True)
369
pbone.lock_rotation = (False, False, False)
370
pbone.lock_rotation_w = False
371
pbone.lock_scale = (False, False, False)
372
pbone.rotation_mode = 'QUATERNION'
373
pbone.rigify_parameters.add()
374
pbone = obj.pose.bones[bones['head']]
375
pbone.rigify_type = ''
376
pbone.lock_location = (False, False, False)
377
pbone.lock_rotation = (False, False, False)
378
pbone.lock_rotation_w = False
379
pbone.lock_scale = (False, False, False)
380
pbone.rotation_mode = 'QUATERNION'
382
bpy.ops.object.mode_set(mode='EDIT')
383
for bone in arm.edit_bones:
385
bone.select_head = False
386
bone.select_tail = False
388
bone = arm.edit_bones[bones[b]]
390
bone.select_head = True
391
bone.select_tail = True
392
arm.edit_bones.active = bone
341
def create_sample(obj):
342
# generated by rigify.utils.write_metarig
343
bpy.ops.object.mode_set(mode='EDIT')
348
bone = arm.edit_bones.new('neck')
349
bone.head[:] = 0.0000, 0.0000, 0.0000
350
bone.tail[:] = 0.0000, -0.0500, 0.1500
352
bone.use_connect = False
353
bones['neck'] = bone.name
354
bone = arm.edit_bones.new('head')
355
bone.head[:] = 0.0000, -0.0500, 0.1500
356
bone.tail[:] = 0.0000, -0.0500, 0.4000
358
bone.use_connect = True
359
bone.parent = arm.edit_bones[bones['neck']]
360
bones['head'] = bone.name
362
bpy.ops.object.mode_set(mode='OBJECT')
363
pbone = obj.pose.bones[bones['neck']]
364
pbone.rigify_type = 'neck_short'
365
pbone.lock_location = (True, True, True)
366
pbone.lock_rotation = (False, False, False)
367
pbone.lock_rotation_w = False
368
pbone.lock_scale = (False, False, False)
369
pbone.rotation_mode = 'QUATERNION'
370
pbone = obj.pose.bones[bones['head']]
371
pbone.rigify_type = ''
372
pbone.lock_location = (False, False, False)
373
pbone.lock_rotation = (False, False, False)
374
pbone.lock_rotation_w = False
375
pbone.lock_scale = (False, False, False)
376
pbone.rotation_mode = 'QUATERNION'
378
bpy.ops.object.mode_set(mode='EDIT')
379
for bone in arm.edit_bones:
381
bone.select_head = False
382
bone.select_tail = False
384
bone = arm.edit_bones[bones[b]]
386
bone.select_head = True
387
bone.select_tail = True
388
arm.edit_bones.active = bone