【Blender】Geometry Node でスライムを作る / Sticky liquid making

Blender

液体やネバネバは Liquid Simulationで作る方が普通なのだろうが、今回はGeometry Nodeで作る方法。
むずい。

方法1

下記動画の内容

レンダリングエンジンはEEVEE。

準備

RenderPropertiesのCurvesの箇所をStripに設定しておく。

Shift + A でMesh – Circleを出す。

そしたらCircleを選択して、TabキーでEditModeに入る。
デフォルトだと画像のようにオブジェクトのOriginは中央にある。

頂点を全選択して、G – X で横に移動させ、さらに R – -90 で回転させる。
下の画像のように原点と頂点群が離れるようにする。

さらに全選択のままFキーで面を張る。
できたらTabキーでEditModeを出る。

次に上のタブのGeometryNodesモードに切り替える(あるいは画面を分割してひとつをGeometryNodesの画面にする)

GeometryNode画面の Newから新規にジオメトリーノードを生成する。

ノードを組む

デフォルトのノードはこれ。

線を出す

まず、左から DistributePointsonFaces ノード – PointstoVerticesノード – ExtrudeMeshノード。

この状態だと、こんな感じの見た目になる。

次にターゲット用のEmptyオブジェクトを出す。

下の4つのノードを追加する。
左上から Positionノード – Scaleノード (VectorMathノードを出してScaleに切り替える)
左下はObjectInfoノード。これにはEmptyを割り当てる。
できたら再度VectorMathを出し、Addに設定して上下2つを接続(ObjectInfoはLocation)
最後にExtrudeMeshノードのOffsetに接続し、OffsetsScaleの値を -1 にする。

この時点で、辺の一端がひとつの箇所にあつまる。Emptyを動かすとこの箇所を調整できる。

次に、SetPositionノードとRandomValueノードを一番後方に接続する。
RandomValueのモードはVectorにし、値を調整してオブジェクトがバラけるようにする。

見た目。

カーブを曲げる

上3つは左から MeshtoCurve – ResampleCurve – SetPosition
ResampleCurveのモードはLengthに。

中段2つはSplineParameter – ColorRamp
ColorRampには3つのストップを配置し、”白黒白”の並びに、さらにモードはCardinalに。
下2つはValueとMultiply(MultiplyはMathノード)
Multiplyの値は -1 に、Valueの値は適当に

それらのノードをMultiplyAddに接続する(これもMathノード)
最後にCombineXYZのZに接続し、それをOffsetに

これでなめらからカーブが作れる。

現時点の全景はこう。

カーブに厚みをつける

とりあえず均等な厚みの場合は、一番最後にあるSetPostionノードを挟むように3つのノードを加える。
左側はSetCurveRadius、右はCurvetoMeshCurveCircle(この後方の2つがないとRadiusの値をいくらいじっても表示されなかった。)

これでとりあえず厚みをつけることができる。

厚みにランダムさを加えるには下記のように6つのノードを加える。

左2つはIDCaptureAttribute(モードはSpline)でResampleCurveの前に挿入する。
右はRandomValueとSplineParameter-ColorRampをMultiplyでつなぎ、SetCurveRadiusのOffsetに接続する。

繋いだだけだと厚みがですぎてしまうので、はじめに出していたCurveCircleのRadiusの値を小さくして調整する。(またResolutionの値を小さくすれば頂点数を減らせる)

この状況だとこんな感じ。

ノード全景はこれ。
厚みの箇所でやったのは赤い部分。

方法2

準備

モードをGeometryNodesにする。あるいは、画面を分割して一つをGeometryNodesの画面にする。

Shift + A で何らかのオブジェクトを出し、そのオブジェクトにGeometryNodesを割り当てる(当該オブジェクトを選択して、GeometryNodes画面のNewを実行)

こんな感じになる。

GeometryNodesでノードを組んでいく

上2つの緑は左から Curve Line ResampleCurveノード。
下の左は CurveCircle
これらをInstanceOnPoint ノードに接続する。

この時点だとこんな感じ。

コメント

タイトルとURLをコピーしました