Blenderでアドオンの作り方【開発環境構築からサンプルの動作確認まで】

f:id:TomoG:20181127101553j:plain

本記事ではBlenderのアドオン作りの始め方についてご紹介していきたいと思います。プログラムも何も分からない方向けの記事になっているため、分かるところは順次飛ばして読んでいただければと思います。

参考資料

colorful-pico.net

本記事は上図の資料を主な参考資料として、自分なりの解釈やその他の方法も併せてご紹介しています。

colorful-pico.booth.pm

上記はより深く説明されている資料となっているため、アドオン作りに興味のある方は是非購入して読んでみてください。

アドオン作りの始め方

開発環境構築

まず始めにBlenderのアドオンを作るためには、そのアドオンの開発環境を整える必要があります。

Blenderでアドオンを作る事もできますが、もし他の開発環境・IDEを既に持っている場合はそちらを使ってみるというのもいいかもしれません。

次項から、おすすめの開発環境についてご紹介していきたいと思います。

Blender

既にご紹介していますが、Blenderでアドオンを作る事もできます。本記事のアドオンの作り方も全てBlender上で行っていきます。

f:id:TomoG:20200422145611p:plain

Blenderでアドオンを作るために、まずはBlenderのレイアウトをScriptingに変更してください。このレイアウトは必須ではありませんが初心者の方はこれにしておくことをオススメします。

そして、エディタータイプをテキストエディターに変更後、テキストエディター画面上部にある【+ 新規】というボタンを押すことで文字が入力できるテキストエディターができると思います。

この開発環境にBlenderを用いるメリット・デメリットについては下記の通りとなります。

メリット・デメリット

メリット

・別のソフトを導入・起動する必要がない

・コードを書いたらすぐに実行できる

 

デメリット

・Githubとの連携が複雑

デメリットの説明ですが、BlenderとGithubの連携するためには、非常に複雑な操作が必要となってきます。

下記の記事でBlenderとGithubの連携について紹介されているため詳細はそちらでご覧ください。

qiita.com

blender-3d.tumblr.com

Githubとは何かという方は下記の記事をご覧ください。

www.sejuku.net

Visual Studio Code

code.visualstudio.com

こちらも非常に有名な開発環境となっています。Visual Studio Communityくらいまでの多機能は必要ないため、軽いVisual Studio Codeをおすすめしています。

その他

前項、前々項とアドオンの開発環境についてご紹介してきましたが、根も葉もないことをいうとPythonというプログラム言語を扱える環境なら何でも問題ありません。

他にPythonという言語を使う等の理由があれば、下記の記事を参考に他の開発環境を見てみることをオススメします。

techacademy.jp

画面の確認

f:id:TomoG:20200423141454p:plain

Blenderのレイアウトを【Script】にしている場合、上図のようにテキストエディターの左下には2つの画面が縦に並んでいると思います。

この縦に並んでいる2つの画面のうち、上の方はPythonコンソール、下の方は情報となっています。この2つの画面は重要になってくるため、必ず画面上に出しておいてください。

f:id:TomoG:20200423141646p:plain

次にもう1つ画面を出しておきます。上図のようにウィンドウからシステムコンソールの切り替えを選択してください。すると、コマンドプロンプトのようなウィンドウが出てきたと思います。

このコマンドプロンプトのようなシステムコンソールも非常に重要になってくるため、必ず出しておいてください。

サンプルコード

今までの内容でBlenderのアドオンを開発する環境は整っていますが、初めての方は何をしたらいいのか分かりません。このような場合、1つ1つ動作ができているか確認しながら作業を行っていくのがいいと思います。

そのため、本記事ではまずアドオンがインストールされているかどうか、アンインストールされたかどうかを確認するサンプルコードをご紹介したいと思います。

gist8ce1a6c8e0ac72bb840780a21e8d7eb3

上記のソースコードをコピーして、Blenderのテキストエディターにペーストしてください。

このプログラムはPythonという言語であり、間の空欄が非常に重要な意味を持っています。そのため、TABキーを使わず全てスペースキーで間をあけてください。

f:id:TomoG:20200423144036p:plain

Blenderのテキストエディターに貼り付けると上図のようになっていると思います。各プログラムについて紹介するため、上図のように番号を割り振っています。この各番号について次項からご紹介していきます。

①:インポート部分

まず始めに一番上に書かれているものですが、本記事の内容だけでしたら不要なものとなっています。しかし、どのようなアドオンを開発するにしても、ほぼ必須のようなものなので既に記載しています。

このimport bpyとはbpyというモジュール/ライブラリをインポートしているというものになっています。bpyとは恐らくBlender Pythonの略かと思います。

プログラムをやっていない方向けにご説明すると、Blenderへ新たな機能を追加するための便利ツールだと思って頂ければ問題ないと思います。

note.nkmk.me

②:情報部分

次に情報部分となります。こちらはBlenderのアドオン開発では恐らく必須の部分かと思います。しかし、実際の動作には関係のない部分となります。

それはどういうことかというと、Blenderのアドオンを入れたことがある方なら一度は見たことがあるBlenderのアドオンの情報画面に出てくる内容を決めている部分だからです。

f:id:TomoG:20200423150018p:plain

例えば上図のように情報部分を埋めたとします。するとアドオン導入画面ではどうなるのかというと

f:id:TomoG:20200423150056p:plain

上図のようになります。そのため、ここはアドオンが完成してからじっくり考えても問題ない場所となっています。

注意点として、blenderとversionという項目がありますが、blenderという項目は本アドオンがblenderのどのバージョンに対応しているのか、そしてversionは本アドオンのバージョンはいくらかなのかを説明しています。

この情報部分の全て一覧が下表になります。

f:id:TomoG:20200423165856p:plain
サポートレベルというのは下図の赤線部分のことを指します。

f:id:TomoG:20200423151434p:plain

上図の赤線部分がサポートレベルになっており、本記事ではテスト中にしています。そのため、次節のアドオンのインストール時にアドオンが見つからない場合は、このサポートレベルをテストにしていない可能性が高いです。ご注意ください。

③:動作記入部分

この部分はアドオンの動作する部分となっています。本記事で掲載したソースコードの場合だとprintしかないと思いますが、この部分にどんどんプログラムしていく箇所です。

regitsterはアドオンを登録時、unregisterはアドオンを解除した時に実行されるものとなっています。

④:エラー対策部分

こちらの部分は、様々なアドオン開始のページを見ても追加されていますが、特に説明はない場所でした。そのため調べてみたところ、エラー対策のような扱いのもののようです。

詳細に知りたい方は下記の記事を見て頂ければと思いますが、最初のうちはおまじないだと思っておくといいかもしれません。

blog.pyq.jp

ファイルの保存

f:id:TomoG:20200424093926p:plain

次にアドオンのプログラムを書いたファイルを保存したいと思います。上図のようにBlenderのテキストエディターのテキスト>名前を付けて保存を選択してください。

すると、ファイル保存画面になるため名前を決めて保存してください。しかし、この時、Blenderのテキストエディターを用いた場合は最後に【.py】という拡張子を付けることを忘れないでください。

例えば保存したいファイル名を【Sample】とするとファイル名は【Sample.py】としてください。これをしないと、Pythonファイルと認識されません。

アドオンの導入

次に自分が作ったことサンプルアドオンを導入していきます。アドオンの導入方法は通常のアドオンと同じ方法となっています。

注意点として先述していますが、アドオンのサポートレベルをテスト中に変更しておいてください。

結果を確認

本記事のコードの通りやっていると、自作したアドオンを導入してからシステムコンソールを見ると【execute register】という文字が出てきていると思います。そして、アドオンの登録解除すると同じように【execute unregister】という文字が出てくると思います。

もし、これらの文字がシステムコンソールに出てこない場合は、どこかに間違いがあると思います。また、エラーが出ている場合がほとんどだと思います。

そんなエラーが出た場合の対処法については次章でご紹介しているんで、そちらをご覧ください。

エラーが出た場合

エラーが出た場合、基本的にはどこかにエラーについての情報が流れます。その情報を元にアドオンのプログラムを直すことが一番効率良く修正できると思います。

f:id:TomoG:20200424100435p:plain

エラーが出た場合、Blenderの情報ウィンドウかシステムコンソール、両方出ている場合もあります。その情報欄に上図のようにlineと書いている場合が多いと思います。

このlineの後ろに書かれている数値が、プログラムの何行目にエラーが出ているかを示しています。

f:id:TomoG:20200424100842p:plain

本記事の場合では、上図のようにlineの後ろに書かれた数値を参考にBlenderのテキストエディター左端に書かれている数値を探してください。

その数値の右に書かれているプログラムでおかしいところがないか探してください。

参考記事

bookyakuno.com

rikoubou.hatenablog.com


本記事ではBlenderのアドオン作りの始め方についてご紹介しました。

Blenderのアドオンを作り始めは非常に悩む場面が多いと思います。そのような時の参考になればと思います。

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