鷲獅子通信

about Blender and modeling

Add-on開発②_Add-on Manager

2つ目のBlenderアドオン、Add-on Managerを公開しました。

https://github.com/3str6/addon_manager

機能についてはREADMEに書いてある通りです。

 

前回のWorkspace Importer, 今回のAdd-on Managerの作成経緯について書きます。

Workspace Importer

github.com

このアドオンは自分が業務でBlenderを使う時用に作成しました。最近Blenderデータをスタッフ間で頻繁にやりとりするのですが、他スタッフのデータを開いた後に画面レイアウト(=Workspace)を毎回自分の作業に適した配置に直すのが地味に面倒くさいんですよね…。

勿論Blenderの機能「UIをロード(Load UI)」をオフにすれば自分のWorkspace設定でデータを開くことができますが、そうすると今度は自分が保存するデータを個別レイアウトで保存できなくなります。他人のデータは自分のレイアウトで開きたい、自分のデータは独自のレイアウトで保存したいというジャイアニズムによって生まれたのがこのアドオンです。

つまりこのアドオン、個人ユーザーにはたぶん全く無意味なんですよね。他の人のBlendデータを開かないなら一生要らないアドオンです...。

 

 Blenderは地味に色んな設定がシステム設定ではなくシーン依存の設定だったりするので戸惑います。まあ常に誰でもそのデータの最適設定で開くことができる、という思想は確かに素晴らしいと思います。データを開いたときに、灰色Tポーズの状態よりレンダリング済みのアクションついた状態を見せられる方が魅力的です。

 

最近の自分のレイアウトはこんな感じです。

Layout(検証用)f:id:igogo:20200524173338j:plain
Modeling

f:id:igogo:20200524173342j:plain

Sculpting

f:id:igogo:20200524173347p:plain

Scripting

f:id:igogo:20200524173352p:plain

 

Add-on Manager

github.com

これもどちらかというと業務用のアドオンです。

業務で使ってるやつはまたちょっとアドオン表示の処理が違います。今回公開している方が汎用性高いです。

 

このアドオンの目的は、自作スクリプトの管理です。

リガーの方はわかると思うのですが、業務でDCCツール使うには作業効率化のためにがんがんコードを書かなくちゃいけないんですよ。手作業は悪い文明。

Blenderでそのスクリプトを動かすのに最適な形なのは、今のところやはりアドオン形式という認識です。もちろんText Editorに張り付けて実行もできますが、BlenderのText Editorは個人的に使いにくいです…。

そしてスクリプトを全部アドオン化していくとBlenderのUIがどんどん埋まっていきます。リギング作業の補助ツールに最適な位置はサイドバーという認識ですが、ここのタブとパネルがじわじわ増えていきます。

 

そのため、アドオンの表示/非表示を手軽に切り替えられるようにしたい→

→でもFilter Add-onsは使いにくいしWorkspace毎の設定である→

→シーン設定の表示/非表示ではなく共通設定の有効化/無効化を切り替えよう...→

の結果としてこのアドオンが生まれました。

 

Filter Add-ons君がもう少し優秀だったらよかったのですが。

開幕Import 〇〇〇シリーズが並んでるのが使い辛いです。だれもWorkspace毎にImport データ形式の表示/非表示なんて設定しないでしょう...。するんですかね?

Filter Add-onsとWorkspaceの検証で確かめた事実は以下です。

・Workspaceの設定はデータに保存される(データ毎の設定である)

・余分なWorkspaceを削除するとデータサイズが小さくなる(784KB→519KB)

・現在activeなWorkspace以外のWorkspaceもデータに保存されている

・Add Workspace > Genaral > ...はそのデータのworkspaceではなく、startupのworkspaceが読み込まれている

・Filtering設定はアドオンの有効化/無効化ではなく表示/非表示を設定している

・Filteringのリストに表示されるのは有効化されたアドオンだけ

・Filtering設定はWorkspace毎の設定である

・大量のアドオンを有効化しているとBlenderの起動が遅くなる(体感)

Filter Add-onsがMode表示ではなくフォルダ事の表示であれば、自作スクリプトの管理にはぴったりでした。こっちもアドオン化するかもしれません。現在のAdd-on Managerは有効化/無効化そのものを操作するため、動作中のアドオンを無効化してしまった時のエラーがちょっと怖いんですよね(Auto Rig Proとか)。

 

終わりに:アドオン開発について

Workspace ImporterもAdd-on Managerも、機能としては小さいしょうもないものです。このアドオン自体を使ってほしいというよりは、似たものを作ろうとしている人のショートカットか踏み台になればなあ、という気持ちで公開しました。私ももっと便利なアドオンが欲しいので...。

これからもそういう気持ちでちょくちょく公開していこうと思っています。

 

また今回のアドオン開発で初めてGitHubに深緑のマークがつきました。人生初のPublic Repositryでもありますし、こういう初めの一歩的なものはなんかちょっと嬉しいです。

f:id:igogo:20200524183414p:plain


6月はモデリングやりつつリギングとスキニングを研究していきます。