見出し画像

プリンのサンプルで学ぶBlender3.6

経緯

  • Blenderをまともに触れずにかなり経過してしまった

    • 3.6という数字とBlenderの進化の速さに驚かされる

  • 追いつくためにBlender3.6のGeometry Nodesのシミュレーション機能を試してみる

  • 手始めに、Blenderのサイトにあるプリンのサンプルの中身を解析して学ぶことにした

プリンのサンプルを編集して遊ぶ

  • プリンのサンプルを少し編集して作ったもの

  • リグなどに対して、キーフレームを打ってアニメーションさせるより

  • 計算でアニメーションさせるのが個人的に好きだ

    • かなりどうでもいいが、お皿は揺れの挙動(バネの挙動)をしないように修正したい

お皿の作り方「概要」

  • お皿の部分はGeometry Nodesでプロシージャルに作られている

  • 全体の流れは、円を作って

  • 円の一部を持ち上げて、お皿にしている

お皿の作り方「詳細」

  • 以下のスクリーンショットを使って解説する

  • まず、Coneノードで円を作る

    • Radius Bottomを0、Depthを0にする、とコーンではなく円になる

  • 円の中心からの距離を使って、お皿の縁を持ち上げる

    • Positionノードで各頂点の位置を取得する

    • Lengthノードに接続して、各頂点の中心からの距離を取得する

    • これをMap Rangeノードに接続する

    • 右下の「白色の吹き出し」を見ていただきたい

    • 距離が「1.760-~1.81」の部分が傾斜になる

    • 1.76未満は、0になり

    • 1.81以上は、0.26になる

    • この値が「持ち上げる量」となる

  • 「持ち上げる量」をZ成分のみにして、Set PositionのOffsetに接続することで、お皿の縁部分が上に持ち上がる(Zのプラス方向に移動する)

注意点

  • この作り方をした場合、上側の面が裏面になり(赤)

  • 下側の面が表面になる(青)

  • 両方の面を描画する場合は問題ない

    • プリンのサンプルでは、表と裏で異なるシェーダーを設定している

プリンの作り方

  • 以下のスクリーンショットを使って解説する

  • Curve Lineノードで、+Z方向に伸びる1mのカーブを作る

  • Resample Curveノードで、5分割して、5つのポイントを作る

  • Set Curve Radiusノードで、カーブの5つのポイントに対して、異なる半径を設定する

    • Spline ParameterノードのFactorで、カーブの開始点が0で、終了点が1になる値を取得する

    • この値を、Map Rangeノードで変換する

    • ToMinを0.9、ToMaxを0.5とすることで、開始点:下が0.9、終了点:上が0.5にすることができる

  • Curve To Meshノードを使ってメッシュにする

    • Profile Curveに円を設定することで、カーブに沿って円が連続でつながったメッシュになる

    • Fill Capsにチェックをつけて蓋をする

次回

  • Simulationについてもサンプルを見て、おおよそ理解できたので、次回、まとめることにする(肝心なところに行く前に力尽きてしまい、すみません)

  • マテリアルの設定も参考になりそうなので、余力があればまとめる

    • 皿にこぼれたシロップもプロシージャルに作られている

さいごに

  • プリンのサンプルで、Geometry Nodesでメッシュが上書きされて見えないが、Geometry Nodesを無効にするとスザンヌ(チンパンジー)が登場する(ちょっとした隠し要素まであって面白かった)

いいなと思ったら応援しよう!