Interactive Panels と Extend Panel

Interactive Panels は、Blender 画面上のパネル / メニュー / ヘッダーを PME が認識する形で可視化し、そこから PME メニューに取り込んだり、既存パネルの上下に自分のメニューを差し込んだりするための一時モードです。

Extend Panel / Extend Menu / Extend Header は、既存の Blender UI に PME のメニューを差し込む機能で、Pop-up Dialog と Regular Menu が対象です。

Added in version 2.0.0: 差し込み先 (Target) / 位置 (Side) / 順序 (Order) を専用のプロパティで管理する形に再設計しました。同じ Target に複数のメニューを重ねて Poll で出し分け、Order で並び順を入れ替えられます。1.x の「差し込み先がメニューの表示名に縛られる」「同じ対象に 1 つしか差し込めない」という制約を解消しました。


構成

項目

モード

一時モード(PME 全体で共有のトグル)

Interactive Panels の起動点

Settings の上部ツールバー / Side Panel Editor / Pop-up Dialog / Regular Menu / Hidden Panel Group の各エディター内

Extend 対応エディター

Pop-up Dialog(Panel / Header) / Regular Menu(Menu)

Extend のプロパティ

Extend Target / Side / Order / R(TOPBAR_HT_ のみ)


有効化

Settings の上部ツールバーに Interactive Panels のトグルがあります。有効にすると、Blender の ヘッダー / メニュー / パネル に PME の「PME Tools」ボタン(赤いハイライト付き)が差し込まれます。

このトグルは PME 全体で共有されます。Side Panel Editor / Pop-up Dialog / Regular Menu / Hidden Panel Group の各エディター内にも同じトグルがあります。


PME Tools メニューの中身

PME Tools をクリックすると、マウスが指している対象がヘッダー / メニュー / パネルのどれかに応じて項目が変わります。共通の終端には Copy Menu ID / Copy Panel ID があり、ID 文字列をクリップボードに取得できます。

パネル(*_PT_*

項目

内容

Hide Panel

このパネルを Hidden Panel Group に追加して隠す

Add as Button to ‘〈現在のメニュー〉’

現在のメニューに Command スロットとして bpy.ops.pme.popup_panel(...) を生成

Add as Popover to ‘〈現在のメニュー〉’

現在のメニューに Custom スロットとして L.popover(panel='...', ...) を生成

Add as Panel to ‘〈現在のメニュー〉’

Side Panel Editor / Pop-up Dialog / Pie Menu に応じた形でパネルとして取り込み

Extend Panel ▲ / ▼

既存パネルの上 / 下に差し込む Pop-up Dialog を新規作成

Copy Panel ID

クラス名(例: VIEW3D_PT_view3d_cursor)をクリップボードへ

メニュー(*_MT_*

項目

内容

Add as Menu to ‘〈現在のメニュー〉’

現在のメニューに Custom スロットとして L.menu(menu='...', ...) を生成

Extend Menu ▲ / ▼

既存メニューの上 / 下に差し込む Regular Menu を新規作成

Copy Menu ID

メニュークラス名をクリップボードへ

ヘッダー(*_HT_*

項目

内容

Extend Header ◀ / ▶

ヘッダー領域の左 / 右に差し込む Pop-up Dialog を新規作成

Copy Menu ID

ヘッダークラス名をクリップボードへ

Add as と Extend の違い

  • Add as … — 既存パネル / メニューを取り込み、現在編集中のメニュー内の 1 スロットとして配置します。

  • Extend … — 既存パネル / メニューに自分のメニューを差し込みます。元の UI はそのまま残り、その前後に PME メニューが描画されます。


Extend Target / Side / Order

Extend Panel / Extend Menu / Extend Header のメニュー項目を選ぶと、Target / Side が設定済みの状態で新しいメニューが作成されます。各エディター画面のトップバー直下に Extend 行が表示されます。

入力欄

役割

Extend Target(検索付きテキスト)

差し込み先のクラス ID。prop_search の候補補完あり。Copy Panel ID / Copy Menu ID で取得した文字列を貼り付け可能

Side(▲▼ または ◀▶)

prepend(上 / 左)か append(下 / 右)。Header は ◀▶ で表示

Order(数値)

同じ Target に複数のメニューが乗っているときの並び順。値が小さいほど先に描画

R(TOPBAR_HT_ のときだけ)

TOPBAR ヘッダーの右リージョンに差し込むかの切替(Pop-up Dialog)


取り込み手順(Add as …)

  1. PME Editor で取り込み先のメニューを選択し、編集状態にする。

  2. ツールバーから Interactive Panels を有効化する。

  3. Blender 画面上で、取り込みたいメニュー / パネル / 個別ボタンを表示する。

  4. 表示された PME Tools をクリックする。

  5. Add as Button / Add as Popover / Add as Menu / Add as Panel のいずれかを選ぶ。

  6. Pie Menu の場合、表示位置(10 方向のどこに置くか)を選択する。

  7. Interactive Panels を無効化する。


差し込み手順(Extend …)

  1. PME Editor で Interactive Panels を有効化する。

  2. 拡張したいメニュー / パネル / ヘッダーを表示する。

  3. PME Tools をクリックし、Extend Panel ▲ / ▼Extend Menu ▲ / ▼Extend Header ◀ / ▶ のいずれかを選ぶ。

  4. Extend Target が設定された状態で、新しい Pop-up Dialog(Panel / Header の場合)または Regular Menu(Menu の場合)が作成される。

  5. スロットを追加して中身を構成する。

  6. Interactive Panels を無効化する。

Pop-up Dialog / Regular Menu のエディター画面の Extend Target 行から、Target / Side / Order はいつでも変更できます。


対応エディター

エディター

Extend 対応

役割

Pop-up Dialog

あり(Panel / Header / TOPBAR_HT_)

パネル / ヘッダーに自前のウィジェット群を差し込む

Regular Menu

あり(Menu)

既存メニュー(ドロップダウン / コンテキストメニュー)に項目を差し込む

Pie Menu

なし

Interactive Panels から Add as … の取り込み先として使用

Side Panel Editor

なし

N-Panel に新しいタブ / グループとして並べる形式


制約

  • Interactive Panels が有効な間、Blender のあちこちが赤くハイライトされます。編集後はモードを無効に戻します。

  • すべての Blender パネルが Extend に対応するわけではありません。Add as Panel で取り込めても、draw コードが内部 context を要求して描画失敗する場合があります。

  • Blender のバージョン更新で対象クラス名が変わる場合があります。prop_search で候補が出ない場合、Blender 側でクラス ID が変わっている可能性があります。

  • Extend 機能は Pop-up Dialog(pd_)または Regular Menu(rm_)のメニューデータに保存され、エクスポートした JSON にも含まれます。


参考動画(原作者のチャンネル)

roaoao の動画一覧より。旧版の UI・手順を扱う参考動画です。

Extending Panels in Blender