執筆バージョン: Unreal Engine 5.2
|
アロハ!どうもアーティストの千葉です。
今回はもうすぐ夏が来るのでジオメトリスクリプトでプロシージャルにソフトクリームを作ってみたいと思います(?)
ジオメトリスクリプトとは
ブループリントを使ってメッシュを生成したり、編集したりすることができるプラグインです。
HoudiniやBlenderのジオメトリノードのようにノードベースでプロシージャルにモデリングを行うことができます。
まだExperimental(実験的機能)なので使用の際はご注意下さい。
プラグインの有効化
まずはプラグイン設定からGeometry Scriptを有効にします。
チェックボックスでプラグインを有効にしたらエンジンの再起動を行ってください。

メッシュを生成するブループリントの作成
コンテンツブラウザのAddボタンからBlueprint Classを選択します。

GeneratedDynamicMeshActorを親クラスにしてください。

名前は「BP_SoftCream」にしました。
ちなみにSoft Creamは和製英語でソフトクリームは英語でsoft serveと言うそうです。

メッシュの編集
まずは簡単なメッシュを編集して遊んでみましょう。
OnRebuildGeneratedMeshというイベントからAppend Coneを実行してみます。

この状態でレベルに「BP_SoftCream」を配置すると……

コーンが生成されました!
せっかくなのでパラメーターを次のように変更してソフトクリームのコーンにしてみます。


あとはこのコーンの上にソフトクリームをぐるぐるさせれば完璧ですね。
螺旋状のスプラインの生成
いよいよぐるぐる部分をコーンに乗せてみようと思います。
螺旋状のスプラインを作成してそのスプラインに沿ったチューブを作ればソフトクリームにできそうなのでまずはスプラインを作ってみます。
Create Circle Path 3D というノードで円形の頂点座標が取得できるのでスプラインのポイント座標に入れます。

こんな感じでぐるっと一周するスプラインになりました。

もう何周か回して座標が徐々に上に向かえば螺旋状になるので、
Create Circle Path 3Dを何回か実行して作った円形の座標の配列に対して、
ループのたびに座標を中心に寄せつつ上に移動させます。

こんな感じで螺旋状のスプラインができました!

スプラインに沿ったメッシュの生成
スプラインに沿ってチューブ状のメッシュを生成します。
Append Sweep Polygonでスプラインに沿ってメッシュを押し出すことができるので次のように繋ぎます。

いい感じのソフトクリームができました。

せっかくなのでマテリアルも入れてみました。

パラメーターを公開すれば好きな形に編集できます。
断面の設定
断面の座標の配列にforループで原点に寄せる処理を交互にかけるとギザギザの断面にすることができます。

よりソフトクリームっぽくなりました!

↓断面

まとめ
ジオメトリスクリプトはメッシュ編集の自由度が高く、
使い方次第でいろんな形をプロシージャルにモデリングできます!
みなさんもぜひ夏に備えてソフトクリームしてみてください(?)