🐯
[Houdini][Tips] Node Infoの[Center, Size, Min, Max]を取得する方法
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