本日は Blender2.8 の python 利用の技術調査枠です。
Blender2.8でPythonスクリプトの自作アドオンを利用する方法を記事にします。
サンプルアドオン
前回の記事で作成した「Hello World Panel」を表示するスクリプトをアドオンとして登録してみます。
bluebirdofoz.hatenablog.com
アドオンとして登録するため、スクリプトコードに bl_info の設定を追加しました。
・HelloWorldAdOn.py
import bpy # bl_infoの設定 bl_info = { "name": "HelloWorldAddOn", # プラグイン名 "description": "HelloWorld AddOn", # 説明文 "author": "holomon", # 制作者名 "version": (1, 0, 0, 0), # バージョン "blender": (2, 80, 0), # 動作可能なBlenderバージョン "support": "TESTING", # サポートレベル "category": "3D View", # カテゴリ名 "location": "", # 機能の位置付け "warning": "", # 注意点やバグ情報 "wiki_url": "", # ドキュメントURL "tracker_url": "" # サポートサイトURL } # HelloWorldPanelクラスの作成 class HELLOWORLDPANEL_PT_ui(bpy.types.Panel): bl_label = "Hello World Panel" bl_idname = "OBJECT_PT_hello" bl_space_type = "VIEW_3D" bl_region_type = "UI" bl_category = "AddPanel" # 描画の定義 def draw(self, context): self.layout.operator("hello.button") class HELLOWORLDPANEL_OT_button(bpy.types.Operator): bl_label = "text" bl_idname = "hello.button" def execute(self, context): print("pushed") return{'FINISHED'} # 登録対象のクラス名 regist_classes = ( HELLOWORLDPANEL_PT_ui, HELLOWORLDPANEL_OT_button ) # HelloWorldPanelの登録 def register(): for regist_cls in regist_classes: bpy.utils.register_class(regist_cls) # HelloWorldPanelの解除 def unregister(): for regist_cls in regist_classes: bpy.utils.unregister_class(regist_cls) # 実行例:[HelloWorldPanelの登録]を実施 if __name__ == "__main__": register()
bl_info はプラグインに関する情報の定義です。
この定義を追加することで、Blender が対象のスクリプトをアドオンとして認識できるようになります。
各定義の意味合いはスクリプト中のコメントの通りです。
アドオンのインストール
作成した HelloWorldAdOn.py をアドオンとしてインストールします。
Blender を起動し、メニューから 編集 -> プリファレンス を開きます。
Blenderプリファレンスダイアログが開くので[アドオン]タブを開きます。
[インストール]ボタンをクリックします。
ファイル読み込みの画面が開きます。
作成したアドオンスクリプトを指定して[ファイルからアドオンをインストール]をクリックします。
これでアドオンが参照用ディレクトリにコピーされます。
アドオンがコピーされる参照用ディレクトリのパスは OS によって異なります。
Windows | C:\Users\(ユーザ名)\AppData\Roaming\Blender Foundation\Blender\(Blenderのバージョン)\scripts\addons |
---|---|
Mac | /Users/(ユーザ名)/Library/Application Support/Blender/(Blenderのバージョン)/scripts/addons |
Linux | /home/(ユーザ名)/.config/blender/(Blenderのバージョン)/scripts/addons |
アドオンの有効化
次に参照可能なアドオンを有効化する必要があります。
今回のアドオンはサポートレベルを[テスト中(TESTING)]に設定したので、サポートレベルの[テスト中]を有効化します。
するとアドオンの一覧に HelloWorldAdOn.py のアドオンが表示されました。
これのチェックボックスをチェックして、アドオンを有効化します。
これでアドオンが有効化されました。
[3Dビュー]のサイドバーを確認すると「Hello World Panel」パネルが追加されています。
プリファレンスの設定を保存しておけば、再度 Blender を開きなおしたときにもアドオンが有効化されるようになります。