~ubuntu-branches/ubuntu/saucy/blender/saucy-proposed

« back to all changes in this revision

Viewing changes to release/scripts/addons/rigify/rigs/neck_short.py

  • Committer: Package Import Robot
  • Author(s): Jeremy Bicha
  • Date: 2013-03-06 12:08:47 UTC
  • mfrom: (1.5.1) (14.1.8 experimental)
  • Revision ID: package-import@ubuntu.com-20130306120847-frjfaryb2zrotwcg
Tags: 2.66a-1ubuntu1
* Resynchronize with Debian (LP: #1076930, #1089256, #1052743, #999024,
  #1122888, #1147084)
* debian/control:
  - Lower build-depends on libavcodec-dev since we're not
    doing the libav9 transition in Ubuntu yet

Show diffs side-by-side

added added

removed removed

Lines of Context:
19
19
# <pep8 compliant>
20
20
 
21
21
import bpy
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
28
23
 
 
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
 
29
 
 
30
 
29
31
script1 = """
30
32
head_neck = ["%s", "%s"]
31
33
"""
313
315
            i += 1
314
316
 
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)
318
 
 
319
 
        if w1 != None:
320
 
            obj_to_bone(w1, self.obj, self.org_bones[(len(self.org_bones) - 1) // 2])
321
 
        if w2 != None:
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])
323
320
 
324
321
        # Return control bones
325
322
        return (head_ctrl, neck_ctrl)
340
337
 
341
338
        return [script]
342
339
 
343
 
    @classmethod
344
 
    def create_sample(self, obj):
345
 
        # generated by rigify.utils.write_metarig
346
 
        bpy.ops.object.mode_set(mode='EDIT')
347
 
        arm = obj.data
348
 
 
349
 
        bones = {}
350
 
 
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
354
 
        bone.roll = 0.0000
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
360
 
        bone.roll = 3.1416
361
 
        bone.use_connect = True
362
 
        bone.parent = arm.edit_bones[bones['neck']]
363
 
        bones['head'] = bone.name
364
 
 
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'
381
 
 
382
 
        bpy.ops.object.mode_set(mode='EDIT')
383
 
        for bone in arm.edit_bones:
384
 
            bone.select = False
385
 
            bone.select_head = False
386
 
            bone.select_tail = False
387
 
        for b in bones:
388
 
            bone = arm.edit_bones[bones[b]]
389
 
            bone.select = True
390
 
            bone.select_head = True
391
 
            bone.select_tail = True
392
 
            arm.edit_bones.active = bone
 
340
 
 
341
def create_sample(obj):
 
342
    # generated by rigify.utils.write_metarig
 
343
    bpy.ops.object.mode_set(mode='EDIT')
 
344
    arm = obj.data
 
345
 
 
346
    bones = {}
 
347
 
 
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
 
351
    bone.roll = 0.0000
 
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
 
357
    bone.roll = 3.1416
 
358
    bone.use_connect = True
 
359
    bone.parent = arm.edit_bones[bones['neck']]
 
360
    bones['head'] = bone.name
 
361
 
 
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'
 
377
 
 
378
    bpy.ops.object.mode_set(mode='EDIT')
 
379
    for bone in arm.edit_bones:
 
380
        bone.select = False
 
381
        bone.select_head = False
 
382
        bone.select_tail = False
 
383
    for b in bones:
 
384
        bone = arm.edit_bones[bones[b]]
 
385
        bone.select = True
 
386
        bone.select_head = True
 
387
        bone.select_tail = True
 
388
        arm.edit_bones.active = bone