本日は環境構築の小ネタ枠です。
以前、Visual Studio Code でBlenderモジュールのオートコンプリートを利用する方法を記事にしました。
そのうちの fake-bpy-module を利用する手順での小ネタです。
bluebirdofoz.hatenablog.com
オートコンプリートの表示
fake-bpy-module を利用していると objects などのデータタイプもオートコンプリートに表示されます。
# シーン内のデータ群を確認する bpy.context.scene.
一方で、以下のようなコレクション型の1データを指定するような場合はオートコンプリートが表示されません。
# オブジェクト群内の1データにアクセスする bpy.context.scene.objects['Cube'].
データタイプのオートコンプリートを表示する
Blender の Python には active_*** のような現在有効化されているデータへのアクセスAPIがあります。
こちらを利用すると fake-bpy-module のオートコンプリートが表示され、データタイプが持つインタフェースが確認できます。
よって、以下のようにアクセス前に対象データをアクティブに変更し、データ操作を行うとオートコンプリートが活用できます。
# 変更オブジェクトをアクティブに変更する bpy.context.scene.objects.active=bpy.context.scene.objects['Cube'] # アクティブオブジェクトにアクセスする bpy.context.active_object.
マテリアルなど、データによってアクティブ化するAPIは異なります。
それぞれ適切にアクティブ化を行い、データにアクセスします。
# 変更オブジェクトをアクティブに変更する bpy.context.scene.objects.active=bpy.context.scene.objects['Cube'] # 変更マテリアルをアクティブに変更する bpy.context.active_object.active_material_index=0 # アクティブマテリアルにアクセスする bpy.context.active_object.active_material.