Rebuild Factoryzの礒です。
今回はエッジだけを局所的に選択してXYZ方向にそれぞれポイント移動させて、それっぽく劣化したようなリアリティを足してみようと思います。
やりたいこと

このようにエッジだけを対象として、そこに加工を施していこうと思います。
全体図

使うノードは6つだけです。
今回の例を作るために、BoxとSubnetを使いました。
Subnetの中身は全部PolyExtrudeなので今回は無視していきます。
Normalで法線作成

NormalノードでPointのノーマルを作成します。
Add Normals toをPointsにします。
Labs Measure Curvature

Labs Measure Curvatureノードで曲率が変化しているところに、つまり角度が変わっているところ、”つまり”エッジになっているところに色をつけます。
適当にパラメーターいじって、Single Color Valueにチェックを入れておきます。
VEX

WrangleノードでVEXを書いていきますが、僕の数学的知識は中学生レベルなので、ベクトル計算とかできない…!
ということでシンプルに考えて計算していきます。
if(@Cd.r>0){
if(@N.x>0){
@P.x = @P.x - @N.x * @Cd.r * 0.05 * rand(@ptnum);
}else if(@N.y>0){
@P.y = @P.y - @N.y * @Cd.r * 0.05 * rand(@ptnum);
}else if(@N.z>0){
@P.z = @P.z - @N.z * @Cd.r * 0.05 * rand(@ptnum);
}else if(@N.x<0){
@P.x = @P.x + @N.x * @Cd.r * 0.05 * rand(@ptnum);
}else if(@N.y<0){
@P.y = @P.y + @N.y * @Cd.r * 0.05 * rand(@ptnum);
}else{
@P.z = @P.z + @N.z * @Cd.r * 0.05 * rand(@ptnum);
}
}
if文、else if文を駆使して、ノーマルの向いている方向に合わせて点の移動方向を定めています。
イメージとしては、Boxの中心に向かって点を移動させる感じです。
Boxの材料は決めてませんが、なんとなく金属マテリアルだとして経年劣化したらへこむよね?って感じ。
Attribute Delete

最後にAttribute Deleteで色情報を削除します。
Point Attributesの欄にCdと入力します。
終わり
今回は若干難しい感じだったでしょうか。
目新しいといえば、Labs Measure Curvatureノードでしょうね。
このノードは海外のチュートリアルやってるときに知ってから、ちょこちょこ触ってきたものです。
使い方が少しわかったので、今回書かせていただきました。
では今回はこれで終わります。