ジオメトリノードの属性近接(Attribute Proximity)の使い方
カテゴリ:blender
この記事では、キューブに近い位置の頂点を盛り上げるノードを解説する。
基本的な使い方はBlender 2.9 の使い方 (16) ジオメトリーノードを参照。
動作デモ
.blend ファイルダウンロード(Blender 3.0 以降)
属性(Attribute)
属性はプログラミングにおける変数のようなもので、Blender では頂点グループが概念的に近い。実際、頂点グループの内容を属性として読み書きできる。属性近接ノードでは、ターゲットに指定したメッシュの最近傍の要素(頂点、辺、面)と頂点間との、距離と位置とを属性に書き出せる。上記のノードでは distance に距離を書き出している。
加工工程
属性関係のノードをつないで属性を加工していく。
距離のクランプ
まず属性範囲マッピングノードで距離を [0, 1] の範囲にクランプしてリマップしている。
位置へ書き出し
あとは距離をZ位置に書き出すだけだ。しかしこれを直接行う方法がない。位置情報をばらした後で結合する必要がある。
定義済みの属性として position がある。これは頂点位置だ。このような定義済みの属性は Built-In Attributes で確認できる。
position を属性 XYZ 分離ノードでばらし、それぞれ px, py, pz にコピーする。そして属性 XYZ 合成ノードで合成したベクトルを、position に書き出している。
法線を使う
定義済みの属性として normal があり、ベクトルとスカラーの乗算をおこなうスケール属性ベクトル演算ノードがあるので、法線方向に頂点を移動させるのは簡単だ。以下にノードを示す。