| 使用ソフトウェア | バージョン | 備考 |
|---|---|---|
| Blender | 3.2 |
今回は次の作品をジオメトリノードだけで作る(シェーディングは別)
サムネイルだと画質が悪いのでクリックしてフルサイズで見れる。
一番最後に全体のノードをまとめて掲載する。
記事の流れとしては、理解しやすいようにパーツごとに区切って作っていく。
まず最初に
このねじりはどうやって表現するのだろうか。
カーブをねじるSet Curve Tiltというノードは以前私のBLOGで紹介した。
【Geometry Nodes】Set Curve Tiltノード【Blender】 | 謎の技術研究部
上の記事で紹介している方法でCurve Circleをねじってみるが
縄にはならない。
実はとてもシンプルで
Curve CircleをTransformを複数使って複製+ズラしたカーブを作る
あとはこれをCurve to Meshでメッシュ化してSet Curve Tiltでねじるだけだ。
これをAグループとする(後に使用)
実はこれだけでほぼ完成である。
つまり本物の縄の断面(のようなもの)を複数のカーブを組み合わせて作って、それをねじっているだけだ。
ここからはおまけ。
縄からでているヒゲを作る。
この方法には先日紹介したDistribute Points on Facesを使う。
【Geometry Nodes】Distribute Points on Facesノード【Blender】 | 謎の技術研究部
これにより縄の表面上のランダムな点を選択し、そこから毛を生やす。
上で書いたAグループからの出力を次のノードにつなぐ。
特に解説するポイントはなく、点をランダムに生成してBezier Segmentを配置しメッシュにしているだけ。
前回の解説でDistribute Points on FacesのRotationを使う例を使用している。
これにより、メッシュの法線方向にベジェ曲線が発生するので毛が生えているように見える
これだけだと毛の発生方向が少しつまらないのでBezier Segmentの値を適当に変更しよう。
この方法だと、縄の内側にも毛が生成されているのでポリゴンが重くなる。
実用化する場合はもう少し工夫が必要かもしれない。
このままだと縄がきれいすぎるのでデコボコにしている。
Noise Textureを使うと隣り合う値がゆったり変化するランダム値が出せる。Subtractで0.5を入れているのはNoise Textureがデフォルトでズレるのを補正Scaleノードを挟むとベクトルの大きさを変化させられる。デコボコの強さ。Set PositionのOffsetにランダム値が入ってくるので各面がランダムにズレる。最後に全体のノードを掲載
マテリアルは実は結構適当。
縄っぽいマテリアルがよくわからなかったので、麻のテクスチャを重ねて、ラフネスを上げただけ。
なお、v3.2現在はMesh to Curveで作ったメッシュにUV情報が乗らないので、カメラから計算された空間を使って無理やりテクスチャをいれている。
したがってアニメーションするとテクスチャが移動して不自然となる。
3.3以降でUV展開ができそうなのでそちらはまた別記事にて。
最後にHDRIの背景に混ぜてソレっぽい作例にしてみたので掲載。
