本日は Blender の技術調査枠です。
Blender3.0で利用可能なpythonスクリプトを作ります。
オブジェクトのタイプと現在のモードを参照する
Blender プロジェクト内の全てのオブジェクト型からはその種類を示すタイプと、現在の操作状態を示すモードを参照できます。
docs.blender.org
サンプルスクリプト
シーン内の全オブジェクトを走査して、そのタイプと現在のモードを標準出力します。
・Script_print_objectmode.py
# bpyインポート import bpy # オブジェクトのタイプと現在のモードを標準出力する def print_object_typeandmode(arg_object:bpy.types.Object) -> bool: """オブジェクトのタイプと現在のモードを標準出力する Keyword Arguments: arg_object {bpy.types.Object} -- 対象オブジェクト Returns: bool -- 実行の正否 """ print("Name : " + str(arg_object.name) + ", Type : " + str(arg_object.type) + ", Mode : " + str(arg_object.mode)) return True # 関数の実行例 # シーン内の全オブジェクトを走査する for check_obj in bpy.context.scene.objects: # オブジェクトの情報を標準出力する print_object_typeandmode(check_obj)
複数の MESH タイプのオブジェクトを編集モードにしてスクリプトを実行してみます。
以下の通り、現在編集モード中の MESH タイプオブジェクトのモードが EDIT と表示されています。