MRが楽しい

MRやVRについて学習したことを書き残す

Blenderで利用可能なpythonスクリプトを作る その5(編集モードへの移行、オブジェクトモードへの移行)

本日は Blender の技術調査枠です。
Blenderで利用可能なpythonスクリプトを作ります。
bluebirdofoz.hatenablog.com

編集モードへのモード切替

指定オブジェクトの編集モードに移行します。
オブジェクトの頂点選択は前回の状態が引き継がれます。
・set_mode_edit.py

# bpyインポート
import bpy

# 編集モードへの移行
# 引数   arg_objectname:指定オブジェクト名
# 戻り値
def set_mode_edit(arg_objectname='Default'):
  # 他のオブジェクトに操作を適用しないよう全てのオブジェクトを走査する
  for ob in bpy.context.scene.objects:
    # 非選択状態に設定する
    ob.select=False
  # 指定オブジェクトを取得する
  selectob = bpy.data.objects[arg_objectname]
  # 変更オブジェクトをアクティブに変更する
  bpy.context.scene.objects.active = selectob
  # 編集モードに移行する
  bpy.ops.object.mode_set(mode='EDIT', toggle=False)
  return

# 関数の実行例
set_mode_edit('Cube')

f:id:bluebirdofoz:20180430233240j:plain

オブジェクトモードへのモード切替

指定オブジェクトのオブジェクトモードに移行します。
・set_mode_object.py

# bpyインポート
import bpy

# オブジェクトモードへの移行
# 引数   arg_objectname:指定オブジェクト名
# 戻り値
def set_mode_object(arg_objectname='Default'):
  # 他のオブジェクトに操作を適用しないよう全てのオブジェクトを走査する
  for ob in bpy.context.scene.objects:
    # 非選択状態に設定する
    ob.select=False
  # 指定オブジェクトを取得する
  selectob = bpy.data.objects[arg_objectname]
  # 変更オブジェクトをアクティブに変更する
  bpy.context.scene.objects.active = selectob
  # オブジェクトモードに移行する
  bpy.ops.object.mode_set(mode='OBJECT', toggle=False)
  return

# 関数の実行例
set_mode_object('Cube')

f:id:bluebirdofoz:20180430233257j:plain