🐯

[Houdini][Tips] WrangleでRunOverをPrimitiveにしたとき@Pは何になる?

2025/01/11に公開

Wrangleで、「RunOver」を「Point」にしたときの @P は、そのPointの位置になりますが、では、「RunOver」を「Primitive」 にしたら @P は何を意味するのでしょうか?


答えは、そのPrimitiveのBoundingBoxの重心が返ってくる模様。こちらのページで言及されていました。
【参考ページ】What does @P when run over Primitives mean?

このように重心がゲットできる一方、@Pへのセットは効かない模様。

他にも、こちらのページもとても参考になります。
【参考ページ】グリッドの各プリミティブ(ポリゴン)中央にポイントを配置する方法


上記ページの最下部のVEXを自分でも試してみました。

addpoint(0, @P);
removeprim(0, @primnum, 1);

↓のようなGridがあったとして…、

各Primitive(この場合、Gridの各マス)の@Pの位置にPointを追加して、Primitiveの方は削除した結果は↓のようになります。

ちなみに、「先にremoveprimしたら@Pはどうなるのかな?」と思って、上記2行の順番を入れ替えてみましたが、結果は変わりませんでした。

Discussion