2026年2月16日月曜日

Attribute Manager for Blender (Expression)

Attribute Manager for Blender v1.3をリリースいたしました。このバージョンでは、BlenderのAttributeタブにあるAttribute Listと同等のリストを組み込み込んだのとApply to All Rowsを算術演算をベースに値の編集ができるように拡張いたしました。

Attribute List

Attribute Listは、BlenderのDataタブにあるAttributeを表示するリストと同様の機能を持つリストで、エッジクリースやベベルウェイトなどの基本的なアトリビュートに加え、ユーザーが定義したアトリビュートも表示されます。編集したいアトリビュートを選択して、Set Attributeボタンを押すと、そのアトリビュートが編集テーブルに読み込まれます。Blender APIの制限からサポートしているデータタイプは、Int, Float, Float Vector, Bool, Stringに限定されます。

Attribute Listの右側にある+ボタン、ーボタンは任意のアトリビュートを追加したり、削除したりするために使用します。

Vertex、Edge、Face、Face Cornerの各モードには、Otherという名称のチェックボタンが追加されています。これを有効にすると各モードで編集可能なその他のアトリビュートの一覧が表示されます。Attribute Listを使用しなくてもこちらから任意のアトリビュートを選択して、編集することも可能です。


Expression

Expressionは、Apply to All Rowsでできることを拡張して、算術式を使って編集テーブルのセルの値を編集する機能です。v1.2までは、アクティブなセルの値を他の全ての行の指定した項目の値をコピーするだけでしたが、Expressionを使用するとより自由度の高い編集を行うことができます。例えばセルの値に1.0という値を加算したい場合は、フィールドに"+1.0"を入力してApply to All Rowsボタンを押せば、全ての行のセルに一律に+1.0が加算されます。数値演算が基本の機能ですので、実数値(Float)のみがExpressionの対象データタイプです。下記のような変数も用意していますので、これらを算術式に組み込んだ編集が可能です。

  • $active : 現在選択されている行の指定した項目(セル)の値
  • $value : 計算対象となる行の指定した項目(セル)の値
  • $min_value : 全ての行の指定した項目(セル)の最小値
  • $max_value : 全ての行の指定した項目(セル)の最大値

今までと同じようにアクティブなセルの値をコピーしたい場合は、$activeをフィールドにセットし、Apply to All Rowsボタンを押せばOKです。Pythonのmathモジュールもサポートしていますので、四則演算に加えて様々な数値演算の関数が利用可能です。

使用例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)

X座標値の最小値と最大値の中間値を計算し、全ての行のX座標値にセットする。

編集テーブル内のオブジェクトのZ座標値に+0.5を一律に加算する


0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。