【Blender 5.2】Geometry Principal Componentsノードについて解説:ジオメトリノード

blender
記事内に広告が含まれています。

Blender 5.2のジオメトリノードに追加された Geometry Principal Componentsノード は、主成分分析(PCA:Principal Component Analysis)を使って、ジオメトリの分布や向きを解析するノードです。

主成分分析という言葉はあまり馴染みがありませんが、簡単に言うと「点や形状がどの方向に広がっているかを調べ、特徴的な軸を見つける」ための手法です。

このノードでは、ジオメトリの中心位置や、最も広がっている方向・それに直交する方向などを取得できます。これにより、点群やオブジェクトの向きの自動検出、ローカル座標系の生成、形状に合わせた配置などに利用できます。

この記事では、Geometry Principal Componentsノードがどのような分析を行っているのか、また各出力(Group Center、Rotation、Principal Components、Principal Axes)が何を意味しているのかを、Blenderのマニュアルの内容をもとに解説しています。

スポンサーリンク

Geometry Principal Componentsノード

Geometry Principal Componentsノードは、ジオメトリ上の点に対して主成分分析(PCA:Principal Component Analysis)を行うノードです。

主成分分析では、

  • 点群の中心
  • 点群がどの方向に広がっているか
  • その向き(回転)

などを求めることができます。

PCAによって求められるPrincipal Axes(主軸)は、互いに直交する3つの軸で構成されます。Geometry Principal Componentsノードでは、この主軸や各方向への分散量をもとに、RotationPrincipal Componentsなどの値を出力します。

主軸は、

  • 最も分散が大きい方向
  • 次に分散が大きい方向
  • 最も分散が小さい方向

の順に並びます。(XYZ軸の順番ではありません)

このノードは例えば、

  • メッシュや点群の向きを自動で求める
  • オブジェクトを点群の向きに合わせる
  • ジオメトリからローカル座標系を作る
  • ジオメトリの形状の広がりを解析する

といった用途に利用できます。

スポンサーリンク

入力

Geometry(ジオメトリ)

解析したいジオメトリを入力します。

ボリューム以外のジオメトリ(メッシュ、カーブ、ポイントクラウドなど)に対応しています。

Position(位置)

解析に使用する位置です。

通常はそのまま Position ノードを接続すれば、各ポイントの位置を解析します。

スポンサーリンク

出力

Group Center(グループ中心)

解析対象となった点群の中心位置です。

言い換えるとこのジオメトリの重心を返します。

Rotation(回転)

主成分分析で求めた3つの主軸を、XYZ軸に合わせるための回転を出力します。

この回転を適用すると、

  • ローカルX軸 → 最も広がりが大きい方向(Longest Axis)
  • ローカルY軸 → 次に広がりが大きい方向(Intermediate Axis)
  • ローカルZ軸 → 最も広がりが小さい方向(Shortest Axis)

となるようにジオメトリを向けることができます。

Rotationは、主成分分析で求められた主軸がXYZ軸と一致するようにする回転値です。この値をジオメトリの回転に利用すると、X軸が最も広がりの大きい方向になるように向きを合わせることができます。

この回転を利用することで、点群やメッシュの形状から自動的に向きを合わせたり、形状に合わせたローカル座標系を作成できます。

Principal Components(主成分)

各主軸方向への広がり(分散)を表します。

値は、

  • X=最も広がりが大きい方向(第一主軸)
  • Y=次に広がりが大きい方向(第二主軸)
  • Z=最も広がりが小さい方向(第三主軸)

のように返されます。

例えば、

(12.5, 3.2, 0.1)

なら、

  • 第一主軸方向には大きく広がっている
  • 第二主軸方向には少し広がっている
  • 第三主軸方向にはほとんど厚みがない

という意味になります。

つまり、この値を見ることで「細長い棒なのか」「平たい板なのか」「球に近い形なのか」を判断できます。

※ちなみに、この値は広がりなので、Scaleに入れてもバウンディングボックスみたいに距離を正確に出してくれるわけではありません。

ただ、広がる方向で回転の向きは揃えてくれます。

Principal Axes(主軸)

主成分分析で求めた3本の軸です。(互いに直交しています。)

Longest Axis(最長軸)

点群が最も広がっている方向です。

例えば細長い棒なら、棒の伸びている方向になります。

Intermediate Axis(中間軸)

2番目に広がっている方向です。

この軸は他の2本の軸と直交(90°)しており、3本合わせて座標系を構成します。

Shortest Axis(最短軸)

最も広がりが小さい方向です。

例えば板状のメッシュなら、板の厚み方向になります。

スポンサーリンク

まとめ

このノードは一言でいうと、

「ジオメトリの向き・中心・長さ・幅・厚みを自動で調べてくれるノード」

です。

例えば細長い剣のモデルなら、

  • Group Center → 剣の中心
  • Longest Axis → 刃の向き
  • Intermediate Axis → 幅方向
  • Shortest Axis → 厚み方向

が自動的に求められます。

そのため、「オブジェクトの向きを自動で合わせる」「細長い方向へエフェクトを流す」「点群からローカル座標系を作る」といった処理に使えるノードです。

スポンサーリンク

関連記事

コメント