【Blenderアドオン開発】WorkSpaceTool のアイコンを自作するメモ
WorkSpaceTool のアイコンとは
blender custom iconとかで検索したら、出てくるのがほとんどボタンとかで使うアイコンの話です。*1
ここで自作したいのが WorkSpaceTool の アイコンです。 というのは 3Dview の左側に並んでるツールたちのアイコンです。今回適当に作ったのが下になります。
作り方
作り方自体は 公式 wiki に書かれてますが、シンプル過ぎてわかりにくいので、もう少し明確にまとめておきます。
アイコン編集用の.blendファイルでアイコンを作ろう
まず wiki に載ってある リンク から、icon_geom.blend
を入手して開きます。
このファイルの内蔵 readme にアイコンの追加に関する説明が書かれて、それに沿って、新しく作るのもできますが、Exportコレクションに入れるとか面倒臭いんで、既存のアイコンを Edit Mode
で改造するやり方を取ります。
なんのアイコンを改造したかを覚えときます。(例えば、ops.transform.rotate
)
アイコン生成スクリプトを入手
blenderのGithubから このスクリプト を入手します。(ダウンロードより、コピペが早いっすね)
仮に C:/blender_icons_geom.py
とします。
コマンドでアイコン生成
絶対パスで表したコマンドが以下になります。(Windowsの場合)
{blenderのルートディレクトリ}/blender.exe {icon_geom.blendのディレクトリ}/icon_geom.blend --background --python C:/blender_icons_geom.py -- --output-dir={適当なところ}
注意:wiki では、出力フォルダをblender のツールアイコン保管してるフォルダに指定してますので、上書きしちゃいます…今回は既存アイコンを改造したので、必ず別の所にします。
アイコンを使う
出力フォルダに、改造したアイコンファイル(例は ops.transform.rotate.dat
)を探し出し、名前を変更します。(例 myaddon.sampletool.dat
)
手動で{blenderのルートディレクトリ}\datafiles\icons\
に入れます。
例えば、C:\Program Files\Blender Foundation\Blender 2.90\2.90\datafiles\icons
アドオンインストール時に自動で入れさせる方法は、公式APIには用意されてなくて、Pythonでファイルのコピペをするしかないらしいです。(権限で拒否されたらお手上げ)※参考
Python では、WorkSpaceTool の bl_icon というクラス変数に名前入れれば、ロードされます。
class Tool(WorkSpaceTool): bl_icon = "myaddon.sampletool" ...