流石に毎回使うたびにソースをコピペするのが面倒なので、アドオン化してみたのですが…
roll_zero.py
import bpy
bl_info = {
"name" : "Set Bone Roll Zero",
"author" : "100H",
"version" : (0,1),
"blender" : (2, 79, 0),
"location" : "armature > Bone Roll 0",
"description" : "Set Bone Roll 0",
"warning" : "",
"wiki_url" : "",
"tracker_url" : "",
"category" : "Rigging"
}
class CSBRZ(bpy.types.Operator):
bl_idname = "armature.sbrz"
bl_label = "Set Bone Roll Zero"
bl_description = "Set Bone Roll 0"
bl_options = {'REGISTER', 'UNDO'}
def execute(self, context):
for obj in bpy.context.selected_objects:
if obj.type == 'ARMATURE':
print(obj.name)
for bone in obj.data.edit_bones:
print(bone.name)
bone.roll = 0
return {'FINISHED'}
def menu_func(self, context):
self.layout.operator("armature.sbrz")
def register():
bpy.utils.register_module(__name__)
bpy.types.VIEW3D_MT_armature_specials.append(menu_func)
def unregister():
bpy.utils.unregister_module(__name__)
bpy.types.VIEW3D_MT_armature_specials.remove(menu_func)
if __name__ == "__main__":
register()
ボーンロール0化
カテゴリー:リギング
出し方:アーマチュア編集画面で、スペシャルメニュー(ショートカットW)
pair_vg_maker.py
import bpy
bl_info = {
"name" : "Pair Vertexgroup Maker",
"author" : "100H",
"version" : (0,1),
"blender" : (2, 79, 0),
"location" : "object > pair vg create",
"description" : "Pair VG Create",
"warning" : "",
"wiki_url" : "",
"tracker_url" : "",
"category" : "Rigging"
}
class CPVGM(bpy.types.Operator):
bl_idname = "armature.pvgm"
bl_label = "Pair VG Maker"
bl_description = "Pair VG Create"
bl_options = {'REGISTER', 'UNDO'}
def execute(self, context):
for obj in bpy.context.selected_objects:
print(obj.name)
if obj.type == 'MESH':
list_add = []
for vg in obj.vertex_groups:
pair_name = ''
length = len(vg.name)
if vg.name[length-2:] == '.L':
pair_name = vg.name[:length-1]+'R'
if vg.name[length-2:] == '.R':
pair_name = vg.name[:length-1]+'L'
if pair_name != '':
if not obj.vertex_groups.get(pair_name):
list_add.append(pair_name)
for name_add in list_add:
print(name_add)
obj.vertex_groups.new(name = name_add)
return {'FINISHED'}
def menu_func(self, context):
self.layout.operator("armature.pvgm")
def register():
bpy.utils.register_module(__name__)
bpy.types.VIEW3D_MT_object_specials.append(menu_func)
def unregister():
bpy.utils.unregister_module(__name__)
bpy.types.VIEW3D_MT_object_specials.remove(menu_func)
if __name__ == "__main__":
register()
左右対面頂点グループ作成
カテゴリー:リギング
出し方:オブジェクト編集画面で、スペシャルメニュー(ショートカットW)
使い方は前述のページの通りなんですが…
2.7専用
なんで互換性が無いんですかね。実行部分に互換性があるのにUIで引っかかって動かないなんて…
今後は2.7系は作らない気がしますがげんなりです。
0 件のコメント:
コメントを投稿