忘却まとめ

Blenderの中級者・上級者向けの踏み込んだ情報や、アドオン・3DCGに関する情報を記事にします

【Customize Menu Editor】カスタマイズできるメニューを作成するアドオン【Blenderアドオン】

Blenderアドオン

更新日:

ユーザーがカスタマイズできるメニューや一括処理機能を作成するアドオンを紹介します。
自分の使いやすいようにメニューを構築することができます。
作成したメニューは、自分のアドオンとして書き出すことができます。

ダウンロード

gumroad

BOOTH

Blender Market

主な機能

  • メニューの作成
  • 直前の履歴をメニューとして登録
  • レイアウトの調整
  • 細かなレイアウトオプションの調整
  • 複数のコマンドを一括処理するマクロ作成機能
  • ユーザープロパティの作成
  • メニューをテキストファイルに書き出し・読み込み
  • メニューやマクロをアドオンとして書き出し

ドキュメント

詳細な使い方や仕様についてはこちら。

使い方

1. メニューの追加

初期のメニュー
+ボタンを押してメニューを追加

左上の+ボタンを押すと、「直前の履歴を登録」ボタンが追加されます。

2. メニューの登録

「モンキープリミティブの追加」オペレーターを登録
  1. 登録したい動作を行って、履歴を残します
    • 例ではモンキープリミティブの追加を実行
  2. 直前の履歴を登録」ボタンをクリックすると、直前に実行した操作をメニューに登録できます

3. 詳細の編集

メニューを作成・調整するメニュー

詳細な設定を編集するには、「Edit Mode」を有効にして、細かな設定メニューを開きます。

  • 「レイアウト」でメニューの名前やアイコン、大きさなどの見た目を設定できます
  • コマンドやオペレーターが書かれている所から、メニューのタイプを変更できます
  • メニュー横の「・」ボタンで、編集したいアクティブなメニューを切り替えます
  • Blenderのユーザー設定が手動保存担っている場合は、「Save」ボタンでユーザー設定を保存でユーザー設定を保存します

4. 完成したメニュー

作成したメニュー

メニューをアドオンとして書き出し

書き出されたアドオンのメニュー

作成したメニューやマクロを、アドオンとして.pyファイルに保存することができます。
Customize Menu Editorアドオンから独立したアドオンとして利用できます。

  • この機能で書き出したアドオンは、ネットや第三者への配布を行っても構いません

エクスポート / インポート

メニュー・マクロ・ユーザープロパティをテキストファイルに書き出し・読み込みすることができます。
バックアップしたり別の環境に移動することができます。

マクロ作成機能

一連の操作の履歴を1つにまとめて、一括処理として実行できます。
各マクロをメニューのボタンにすることができます。

メニューをアドオン化する際、マクロのメニューボタンがメニュー内に存在する場合は、自動でアドオン内にもマクロが組み込まれます。

使い方

  1. 右上の+ボタンでマクロアイテムを追加
  2. 左下の●ボタンを押して、履歴の録画を開始
  3. なにかしらの操作をして、履歴を作ります
  4. 停止ボタンを押して、録画を完了
  5. 履歴のリストが作成されます
  6. ▶ボタンで作成したマクロを実行できます

利用できるコード

タイプ説明
コマンドコードをオペレーターとして実行できるボタンにします
オペレーターの細かなオプションや、プロパティの変更をそのまま実行ボタンにできます
「直前の履歴を登録」で登録すると、表示用の名前はコードを元に生成されます
詳細はこちら (コマンド – Command)

下記のような形である必要があります

bpy.ops.xxx.xxx()
bpy.xxx.xxx.xxx = XXX
オペレーターオペレーターをメニューにします
オペレーターの履歴の細かなオプションを登録せずにメニューにできます
表示用の名前は、オペレーターの名前になります

下記のような形である必要があります
xxx.xxx
プロパティプロパティのメニューを作成します
設定を調整したり切り替えたりできるメニューを作成できます

下記のような形である必要があります
bpy.xxx.xxx
メニューコンテキストメニューを登録できます
メニュークラスの設定機能により、Blenderに登録されている全てのメニュークラスを検索・設定することができます

下記のような形である必要があります
CLASSNAME_MT_xxx
ラベルテキストを作成します
分類ごとのタイトルを付けるのに便利です
セパレーター空白を挿入します
隙間を開けたい時に便利です
factorで空白の大きさを調節できます
レイアウト要素のみrowやcolなどのレイアウト要素のみを追加します

コマンド・オペレーター・メニュー・プロパティの場合は、コードをそれぞれ決まった形にする必要があります。
「直前の履歴を登録」から登録すると、タイプに合うように自動整形されます。

レイアウト

縦並びや横並びなどに、メニュー表示を変更することができます。
複数のレイアウト要素は重ねがけすることができます。

レイアウト説明
テキストメニューアイテムの表示用の名前を変更できます
テキストを空にすると、アイコンのみの表示になります
アイコンメニューアイテムのアイコンを変更できます
アイコン設定メニューから、Blenderに内蔵されているアイコンを選んで設定できます
row横並びにする
row = layout.row(align=True)
col縦表示にする
col = layout.column(align=True)
box要素を囲う
box = layout.box()
split横に2つに分割する
sp = layout.split(align=True,factor=0.9)
アイコン設定メニュー

「上のレイアウトに追従」オプション

深い階層のレイアウト要素の何番目の上の階層に追従するかを指定できます

  • 階層より大きい数を指定した場合は、他のレイアウトの要素に追従しないようになります
  • 数が0の場合は、直前のレイアウト要素に追従します

レイアウトのオプション

  • メニューの細かな見た目を調整することができます
  • レイアウト要素がないとオプションは反映されません
  • 設定したレイアウト要素内のメニュー全てに反映されます
レイアウト説明
scale_x / scale_y横・縦の大きさを変える
alignment左・中央・右に整列する
alert赤く警告表示する
embossエンボスを消す
active暗く表示する

メニュー

  • 3Dビュー → サイドバー(Nキー) → Tools → Customize Menu

追加されるタブの場所を"Tools"以外に変更できます。
メニューのテキストは日本語翻訳に対応しています。

アップデート履歴

アドオンの制作依頼はこちら

-Blenderアドオン
-

Copyright© 忘却まとめ , 2020 All Rights Reserved Powered by STINGER.