Blenderでアドオン・プラグインの作り方 その2【UIに項目を追加】

本ページには、プロモーションが含まれています。


記事ではBlenderでアドオン・プラグインの作り方についてご紹介していきたいと思います。前回でBlenderのアドオン・プラグインの開発環境や実行確認はできたと思います。

もし、またできていない方は下記の記事からご覧ください。

本記事でやりたいこと

Blenderの自作アドオンでUIに項目を追加

基本的に自作アドオンを実装したとき、実行するためのボタンをUIのどこかしら追加すると思います。

本記事では上図のように自作アドオンを実装したとき、BlenderのUIを追加。そしてボタンが押されたら押されたことが分かるようコンソールWindowに出力する方法をご紹介していきたいと思います。

作り方

全体コード

giste2a832fb087f765e625665290388ead4

上記のソースコードが本記事で使用するソースコードとなっています。

筆者も学びながらなので、上記の方法だけが正しいというものではないためご注意ください。

基本情報・APIをインポート

Blenderの自作アドオンでUIに追加するときのAPIインポート

まずは基本情報部分とAPIをインポートします。

「import bpy」は必須ですが、他のAPIは自分が作りたいアドオンによって異なります。

上記の「import bmesh」はメッシュ関係を変更するときに必要なAPIとなっています。

「bl_info」の中にある情報は下記の記事の情報部分という見出しをご覧ください。

クラス作成・実行部分

Blenderの自作アドオンでUIに追加するときの実行クラス部分

次に上記のようにクラスを作成します。

「class クラス名(bpy.type.Operator):」でクラスを作成します。このクラス名は非常に重要なのでわかりやすいクラス名にしてください。

クラスの始めに、まずは様々なことを設定します。

・bl_idname:IDです。様々な部分で使用することになります。

・bl_label:UIに表示される名前となります。自分が追加した機能に合わせて分かりやすい名前にしてください。

・bl_description:UIでカーソルを合わせたときに出てくる説明文となります。完結に説明文を記載してください。

・bl_options:クラスの処理属性です。この項目は基本的にこれで問題ないと思います。

 

「def execute(self,context):」の部分は実際にボタンが押されて実行したときに処理開始するところになります。この部分に追加したい機能のコードを書いていきます。

上記のサンプルでは選択した頂点の情報をコンソロールWindowに表示した後、「Test Completed」と表示されるものとなります。

 

そして最後に「return {FINISHED'}」で関数が終了します。

UI追加部分

Blenderの自作アドオンでUIに追加するときのUI追加部分

次に「def menu_fn(self,context):」はUIにボタンを追加する関数となります。

「self.layput.separator()」でUIにセパレートを追加します。このセパレートが不要だと思った場合は、この行を消しても問題ありません。

「self.layout.operator(クラス名.bl_idname)」で、UIに追加する関数となります。これはUIにボタンを追加するときは必須だと思います。

注意点として、この関数ではUI追加することはできても、UI追加する場所を決めることはできていないのでご注意ください。

クラスまとめ部分

Blenderの自作アドオンでUIに追加するときのクラスまとめ部分

次に上記のようにクラスをまとめてください。これは次節でクラスを登録するときに利用するため、作成したクラスを全て列挙してください。

登録画面

Blenderの自作アドオンでUIに追加するときの登録画面

最後に上記のように登録をしてください。

「def register():」のfor分の中にregisterで作成したクラスを全て登録します。

その後、「bpy.types.UIの場所.append(menu_fn)」でUIの場所にボタン等を追加します。この場所に関しては後程詳細にご紹介します。

「def unregister():」は「register」と対になっているので説明は割愛します。

UI追加場所に関して

Blenderの自作アドオンでUIに追加する方法まとめ

UIに追加する方法はたくさんありますが、その一例として上記のようなものがあります。

上記の行数に合わせて、どの場所に追加する関数なのか下記でご紹介します。

  1. 編集モードの「ビュー」に追加
  2. 編集モードの「選択」に追加
  3. 編集モードの「追加」に追加
  4. 編集モードの「メッシュ」に追加
  5. 編集モードの「頂点」に追加
  6. 編集モードの「辺」に追加
  7. 編集モードの「面」に追加
  8. 編集モードの「UV」に追加
  9. 空行
  10. オブジェクトモードの「選択」に追加
  11. オブジェクトモードの「追加」に追加
  12. オブジェクトモードの「オブジェクト」に追加

他にもツールタブに追加する方法や、エクスポート項目などに追加することができます。

ツールタブに追加する方法は次章の参考記事を、その他の項目については既存のアドオンを見てみると参考になると思います。

参考記事

dskjal.com

memoteu.hatenablog.com


本記事の内容は以上となります。

自作アドオンで必要になる実装した機能の実行ですが、実行方法としてボタンだと思います。そのボタンの実装方法について本記事でご紹介しました。

本記事は以上です。お疲れさまでした。