Attribute Manager for Blender
概要
Attribute Manager は Blender のための強力なアドオンで、スプレッドシート形式で属性を一括編集するUIを提供します。Blenderのプロパティパネルをひとつひとつクリックして変更する代わりに、このアドオンを使うと効率的に属性値を確認・編集できます。
Blenderバージョン
- 4.0, 5.0以上、もしくはその派生バージョン
- アドオンはPythonのみで記述されており、macOS, Windowで動作します。
インストール
- Blender を起動します
- メニューから Edit > Preferences を開きます
- 左側の Add-ons を選択します
- Install from Disk をクリックして AttributeManager.zip を選択します
- Attribute Manager のチェックボックスをオンにして有効にします
基本的な使い方
Attribute Manager は 3Dビューのサイドバー(Nパネル) に表示されます。AttributeManagerのパネルは水平方向に伸縮可能で、パネル左側のエッジをドラッグすることでパネルの幅を調整することができます。
また、テーブルに表示する行数はMax Rowsの値で調整できます。デフォルトは6行です。
メインUIの構成
(1) Correct Selected (Correct Objects)
Correct Selectedを押すと、現在の選択オブジェクトや選択メッシュ要素をAttribute Manager に読み込みます。
- Edit Mode では選択中の頂点/エッジ/フェイスが対象
- Object Mode では選択中のオブジェクトが対象
- 変更したい対象を選択した後に押してください
(2) モード選択
編集対象を切り替えるためのモードが用意されています:
- Vertex(頂点)
- Edge(エッジ)
- Face(面)
- Face Corner(面コーナー)
- Object(オブジェクト)
この切り替えに応じて、読み込む対象・表示する属性が変わります。
(3) 属性選択
テーブルに表示したい属性をトグルで選択します。
チェックした属性のみがテーブルの列として表示されます。
例:
- Vertex モードなら「座標」「ウェイト」「Shape Key」など
- Edge モードなら「smooth」「crease」など
- Face モードなら「マテリアル」「Freestyle」など
- Face Coner モードなら「UV」「カラー」など
- Object モードなら「表示設定」「変形」「タイプ別属性」など
(4) 編集テーブル
これはメインの編集領域です:
- 選択した属性を列として表示します
- 行は対象の要素(頂点/エッジ/フェイス/オブジェクト)です
- テーブルはスクロール可能です
- 最初の行は項目名(見出し)です
- 現在の行は青くハイライトされます
- 行を選択するとその行のエレメントはアクティブエレメントに設定されます。
- セルを直接編集すると、その値が即座に Blender に反映されます。
(5) Apply to All Rows
このボタンは、特定の列の値(項目)を算術式に基づいて、すべての行に反映させたいときに使います。
- 算術式のフィールドに式を入力する
- ドロップダウンから対象列を選ぶ
- 「Apply to All Rows」を押す
これで指定した実数値(Float)の項目の値が算術式に基づいてすべての行の同じ項目に計算が適用されます。実数値(Float)以外の項目で「Apply to All Rows」を押した場合は、現在選択されているアクティブセルの値が全ての行に適用されます。
算術式は、Pythonのeval関数をベースとしていて、基本的な四則演算をすべてサポートしています。Attribute Listの算術式では下記のような変数を用意しています。
また、Pythonのmathモジュールを使用することも可能です。
- $active : 現在選択されている行の指定した項目(セル)の値
- $value : 計算対象となる行の指定した項目(セル)の値
- $min_value : 全ての行の指定した項目(セル)の最小値
- $max_value : 全ての行の指定した項目(セル)の最大値
入力フィールド右側にあるポップアップから上記の変数や基本的な演算子をフィールドに追加することができます。
使用例1:全ての行の各値を現在選択されているセルの値に設定する
$active
使用例2:全ての行の各値に一律に2.0を加える(現在の値に四則演算する場合は、最初の$valueを省略することができます。)
$value + 2.0 もしくは + 2.0
使用例3:全ての行の各値を全ての行の中の最小値に設定する
$min_value
使用例4:全ての行の各値を全ての行の中の最小値と最大値の中間値に設定する
($min_value + $max_value) / 2.0
使用例5:行の値を指定した範囲内(0.0 ~ 1.0)に制限する
clamp($value, 0.0, 1.0)
使用例6:全ての行の各値の平方根を設定する
math.sqrt($value)
使用例7:全ての行の各値に10.0°をラジアンに変換して加える
+ math.radians(10.0)
(6) Show Indices, Show Weights, Show Colors, Show Attribute List
-
Show Indices
→ 3Dビューに要素番号(Index)を番号付きで表示します → Blender の Edit Mode Overlay の「Indices」に相当します。 -
Show Weights
→ 3Dビューにウェイトをグラデーションで表示します → Edit Mode の「Vertex Group Weights」Overlay に相当します。
3Dビューを切り替えた時は、Show Indices, Show Weightsを再設定する必要があります。
-
Show Colors
→ 3Dビューにウェイトをグラデーションで表示します → Object Mode の「Viewport Shading」にあるObject Color と同じ機能 -
Show Attribute List
→ Edit Modeで編集可能な属性一覧を表示します → このリストはBlender標準のAttributeタブにある属性リストと同等の機能を持っています。
3Dビューを切り替えた時は、Show Colorsを再設定する必要があります。
(7) Max Rows
スプレッドシート表示における一度に表示する最大行数を調整します。初期値は6行です。
(8) Attribute List
Attribute Listは、Edit Modeで編集可能な属性の一覧を表示します。Set Attributeボタンを押すと選択した属性が編集テーブルに設定されます。 また、Attribute Listの右側にある+ボタンを押すとユーザー定義の属性を追加することができます。ーボタンを押すと現在選択されている属性が削除されます。
頂点編集モード
頂点ごとの属性編集ができます:
- 座標(X/Y/Z)
- Shape Key 値
- Vertex Group ウェイト
- クリース
- ベベルウェイト
- カラーアトリビュート(POINT)
- その他の属性(Float, Float Vector, Int, String, Bool)
座標値は ローカル / グローバル空間 の両方で表示できます。編集時は Blender 側に自動で変換されて反映されます。
グローバル座標系の場合は、メッシュ頂点の座標値をグローバル座標系に変換して編集テーブルに表示し、編集した値はローカル座標系に変換してメッシュに書き戻しています。YT-Tools for Blenderの作業平面の機能と組み合わせて、作業平面上の頂点の座標値を揃えたい場合などで便利に使うことができます。シェイプキーとVertex Groupは、プルダウンメニューで選択されている対象データの値が対象になります。
その他の属性ではAttribute Listなどで追加したユーザー定義のカスタム属性を編集できます。頂点に設定されている属性のリストから選択して編集を行います。
Shape KeyモードをRelativeにすると、座標値はBaseキーからの相対値で表示されます。
エッジ編集モード
エッジに関する属性編集が可能です:
- smooth(スムース)
- Freestyleマーク
- crease(クリース)
- edge bevel weight(エッジベベルウェイト)
- Length(長さ)
- その他の属性(Float, Float Vector, Int, String, Bool)
これらの属性はサブディビジョンやシェーディングに影響します。Lengthはエッジの端点の頂点の座標値を変更し、指定した長さにエッジの中心位置を基準に長さを調整します。
その他の属性ではAttribute Listなどで追加したユーザー定義のカスタム属性を編集できます。エッジに設定されている属性のリストから選択して編集を行います。
面編集モード
面ごとの属性編集ができます:
- マテリアルスロット
- Freestyleマーク
- その他の属性(Float, Float Vector, Int, String, Bool)
多くの面が同じマテリアルを共有する場合に一括編集が便利です。Freestyleの属性も変更可能です。
その他の属性ではAttribute Listなどで追加したユーザー定義のカスタム属性を編集できます。面に設定されている属性のリストから選択して編集を行います。
面コーナー編集モード
面の各コーナーに属する属性編集ができます:
- UV
- カラーアトリビュート (CORNER)
- その他の属性(Float, Float Vector, Int, String, Bool)
Blenderでは、UVやカラーアトリビュートは面の各コーナーごとに値を保持していて、必要に応じて頂点単位に編集を行ったり、切り離して独立した値を持たせることが可能です。
Index Orderは、頂点番号と面番号をどちらを基準にテーブルを表示するかを指定します。Face - Vertexを指定すると面とその面を構成する頂点を順番に表示します。Vertex - Faceを指定すると頂点とその頂点にリンクされている面を順番に表示します。
Shared Vertexを有効にすると同一頂点において同じ面コーナーの値は同時に編集されます。同じ値を持つセルは表示されません。Shared Vertexをオフにすると面コーナー単位に独立して値を編集することができます。
その他の属性ではAttribute Listなどで追加したユーザー定義のカスタム属性を編集できます。面コーナーに設定されている属性のリストから選択して編集を行います。
オブジェクト編集モード
Object(オブジェクト)モード
オブジェクトに対する属性編集が行えます:
- トランスフォーム(Transform)
- 関係(Relations)
- 可視性(Visibility)
- ビューポート表示(Viewport Display)
- ライトやカメラ特有のプロパティ
Object モードでは:
- 上段のドロップダウンか編集対象のオブジェクトタイプ(Mesh/Light/Camera など)を選びます
- 現在、下記のオブジェクトのタイプ固有の属性の編集をサポートしています。
- Mesh オブジェクト
- Light オブジェクト
- Camera オブジェクト
- Empty オブジェクト
- Modifier
- 次のドロップダウンで属性カテゴリ(トランスフォーム/関係/可視性 など)を選びます
オブジェクトモードでは、オブジェクトの名称も変更することができます。Apply to All Rowsを使って他のオブジェクトに同じ名称を設定した場合、Blenderが自動的に同じ名称のオブジェクトに対して連番を付加します。
Modifierモードでは、オブジェクトに追加されているモディファイアの表示属性を編集することができます。編集テーブルには、各オブジェクトに追加されているモディファイアの順番、もしくは各モディファイアを追加しているオブジェクトの順番に表示を切り替えることができます。
また、アイテムをPropertiesに設定して、Apply to All Rowsを実行すると選択されている行のモディファイアと同じ種類のモディファイアに選択されている行のモディファイアの全てのプロパティがコピーされます。全てのモディファイアに対して同じプロパティを一括して設定したい場合に便利です。Auto Expandを有効にすると選択した行のモディファイアのプロパティパネルが展開され、それ以外のパネルは閉じられます。
変更履歴
v1.0 新規リリース
- Attribute Manager for Blenderの新規リリース
v1.1 新機能追加
- Face Cornerモードの追加
- Color Attributeの追加
- Show Colorsボタンの追加
- Shape Keysで相対座標値の編集機能を追加
v1.2 新機能追加
- ObjectモードにModifierサブモードを追加
- TransformのRotation設定のバグを修正
v1.3 新機能追加
- Attribute Listの追加
- Apply to All Rowsを算術式を使用する方法に変更
License
This Blender add-on is licensed under the GNU General Public License v3.0 or later.
You are free to use, modify, and redistribute it under the terms of the GPL license.
For details, please see the included LICENSE.txt.