広告
広告

Blender で任意の一行 Python コードを保存するアドオン

カテゴリ:blender

ダウンロードは GitHub から.

使い方

インストールすると Tool Shelf の Tools タブに Operation Shelf が現れる. Operation にコードを,名前にボタンに表示する名前を入力して Register operation をクリックする.

コマンドを右クリックして Copy Python Command を押すとコマンドをコピーできる.

demo
動作デモ

複数行のスクリプトの登録

Operation にファイルパスを指定すると複数行のコードも登録できる.

register script
スクリプトの登録

コマンド例

X-Ray の切り替え

context.active_object.show_x_ray = not context.active_object.show_x_ray

toggle
トグルコマンド

ボタンを押すごとにオブジェクトが X 方向に1移動する

bpy.context.active_object.location = mathutils.Vector((1,0,0))+bpy.context.active_object.location

inc x
X 方向に1移動する

ミラーモディフィアをつける

bpy.ops.object.modifier_add(type='MIRROR')

レイヤー2へ移動(1スタートの場合は3)

context.active_object.layers = [i==2 for i in range(len(context.active_object.layers))]

特定のレイヤーをトグル(レイヤーに名前を付けられる)

context.scene.layers[1] = not context.scene.layers[1]

toggle layer
レイヤーに名前を付ける

Subsurf(細分割曲面)のトグル

複数行なのでファイルに保存して,ファイルパスを Operation: に入力する.

meshes = [o for o in bpy.data.objects if o.type == 'MESH']
for m in meshes:
    try:
      subsurf = m.modifiers['Subsurf']
      subsurf.show_viewport = not subsurf.show_viewport
      subsurf.show_render = not subsurf.show_render
    except:
      pass

ライトのトグル

for l in [o for o in bpy.data.objects if o.type == 'LAMP']:l.hide = not l.hide

レイヤー2のオブジェクトに何かする

for o in [o for o in bpy.data.objects if o.layers[1]]:# do something

show only render のトグル

for v3d in [a for a in bpy.context.screen.areas if a.type=='VIEW_3D']:v3d.spaces[0].show_only_render = not v3d.spaces[0].show_only_render

注意点

ボタン名は重複できない.また長すぎるボタン名も登録できない.

登録やボタンのロードができなくなったときは CLEAR ALL の左の X を押して初期化する. 登録したボタンは削除されることに注意.

関連記事

Blender 記事の目次


広告
広告