夜風のMixedReality

xRと出会って変わった人生と出会った技術を書き残すためのGeekなHoloRangerの居場所

BlenderPythonでコードからBlenderのモードを切り替える

本日はBlenderモデリング枠です。

本日はBlenderのコードを使用して現在の3DViewのモードを切り替えていきます。

Blenderではキーボードのショートカットを使用して様々な操作を行います。

これらはBlender側でほとんどの機能が決められていますが、Blenderの挙動はBlenderPython(bpy)を使用してコードから実行できます。

今回は3DViewのモードを切り替えていきます。

〇現在の3DViewモードを切り替える

〇現在のモードを取得する

現在のモードを取得するには次のコードを実行します。

import bpy

print(bpy.context.mode)

実行することで次のようにコンソールに現在のモードが出力されます。

〇任意のモードへ切り替える。

例えば編集モードへ切り替えるためには次のコードを実行します。

import bpy

bpy.ops.object.mode_set(mode='EDIT')

bpy.ops.object.mode_setはオブジェクト操作モードを設定する関数です。

docs.blender.org

オブジェクトモードへ切り替える場合は関数の中のStringをOBJECTを指定します。

import bpy


bpy.ops.object.mode_set(mode='OBJECT')

〇組み合わせてコードを実行する度にモードを切り替える

最後に応用を行っていきます。

次のコードでは現在のモードがオブジェクトモードであれば編集モードへ、編集モードであればオブジェクトモードへ切り替える処理を行います。

import bpy

print(bpy.context.mode)

if bpy.context.mode == 'OBJECT':
    bpy.ops.object.mode_set(mode='EDIT')
else:
    bpy.ops.object.mode_set(mode='OBJECT')

コードを実行することで挙動を確認できます。

本日はBlenderのPythonコードからBlenderの選択モードを切り替える処理を行いました。

基礎的な部分ではありますが自身のアドオンを作る際などに役立ちそうです。