MRが楽しい

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

Blender3.0で利用可能なpythonスクリプトを作る その88(3Dビューで選択中の現在のモードを取得する)

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

現在のモードを取得する

Blender で現在のモードをチェックするには bpy.context.mode の値を参照します。
docs.blender.org
例えばオブジェクトモードでは‘OBJECT’が、編集モードでは‘EDIT_MESH’の値が返ります。

サンプルコード

スクリプト実行時に現在のモードが編集モードかを判定してコンソールに結果を表示します。
・Script_check_viewmodet.py

# bpyインポート
import bpy

# 現在のモードが指定のモードかチェックする
def check_viewmode(arg_checktype:str) -> bool:
    """現在のモードが指定のモードかチェックする

    Keyword Arguments:
        arg_checktype {str} -- 比較するモード名

    Returns:
        str -- 現在のモード
    """

    # 現在のモードをチェックする
    # (https://docs.blender.org/api/current/bpy.context.html#bpy.context.mode)
    modetype = bpy.context.mode

    return (arg_checktype == modetype)

# 関数の実行例
# 現在のモードが「編集モード(EDIT_MESH)」かチェックする
result = check_viewmode('EDIT_MESH')
# 結果をコンソールに表示する
print("Is EditMode : " + str(result))

・オブジェクトモードでの実行時
f:id:bluebirdofoz:20211220221250j:plain
・編集モードでの実行時
f:id:bluebirdofoz:20211220221259j:plain