🐯

[Houdini][Tips] Node Infoの[Center, Size, Min, Max]を取得する方法

2025/01/12に公開

Node Infoの右上には↓のように、バウンディングボックスの[中心(Center) / サイズ(Size) / 最小点の座標(Min) / 最大点の座標(Max)]が表示されていますが、それらを取得する方法について解説します。

エクスプレッションで取得する方法

エクスプレッション 説明
bbox("../node", D_XMIN) 最小点のX座標を取得。
bbox("../node", D_XMAX) 最大点のX座標を取得。
bbox("../node", D_XSIZE) サイズのX成分を取得。
centroid("../node", D_X) 中心のX座標を取得。

※Y, Zも同様。

実際に使ってみた様子が↓のGIF動画です。エクスプレッションの値がNode Infoの値と一致しているのが確認できます。
最小点を赤いSphereで示した様子
中心を赤いSphereで示した様子
Node Infoの値

VEXで取得する方法

関数 説明
getbbox_min(geometry) 最小点の座標を取得。
getbbox_max(geometry) 最大点の座標を取得。
getbbox_size(geometry) サイズの成分を取得。
getbbox_center(geometry) 中心の座標を取得。
vector min = getbbox_min(0);
vector max = getbbox_max(0);
vector center = getbbox_center(0);
vector size = getbbox_size(0);

実際にWrangleで使って、DetailにAttributeとして記録してみたのが↓の画像です。各Attributeの値がNode Infoの値と一致しているのが確認できます。
Wrangleで使ってみた例
DetailにAttributeとして記録された値
Node Infoの値

Discussion