2021-12-13

【ナイアガラ超基礎 #3】しずくを作る【UE5】

蛇口から滴る「しずく」を作りながらナイアガラの超基礎を学ぶ

Article Image

作って覚えたい

「蛇口から滴る雫」を作りながらナイアガラ基礎を学ぶ。

作例の動画

※簡易すぎて雫というには少々ボロいがご勘弁。

全く作ったことない人向け

実際にエフェクトを作るのが初めての人向けの記事。

少し細かいところまで解説する。

ナイアガラシステムを作っておく

今回はシステムで「Empty」を追加して空のナイアガラを作る。

Empty追加

意味がわからなければは以前の記事を参照

【ナイアガラ超基礎 #1】かんたんな概念【UE5】 | 謎の技術研究部

Spawn Rateモジュールを追加

エミッタの更新と書いてあるところの+ボタンをクリック。

spawn rate

モジュールの追加ウィンドウが現れるのでSpawn Rateで検索してダブルクリックして追加

picture 3

追加されたSpawn Rateをクリックして右側のプロパティSpawnRate1を入力

picture 4

白い点が出る

以上の作業でプレビュー画面に白い点が出る。

picture 5

これがすべての基礎である「パーティクル」という点を生成した状態。

何も出ない時

タイムラインが再生されていないとパーティクルは現れないので注意。

picture 6

なんで玉が出た?

エミッタの更新 > Spawn Rate を追加するとその設定数値に応じてパーティクルが生成される。

先程プロパティSpawnRate1を入力したが、これを増やせばパーティクルは大量に生成される。

しかし、今回はこの数字を増やしても殆ど変化しない。

これは「全く同じところに重なって生成されている」からだ。

というわけで、この記事ではこのパーティクルを動かすことで視覚的にわかりやすくする。

「エミッタの更新」て何?

「エミッタの更新」と書かれているモジュールの中身は、毎フレームごとにその中身が評価されている。

つまりこの中に入っているSpawn Rateが毎フレームごとに「このフレームで玉出す?」という判断が入っていると考えれば良いと思う。

重力を追加してパーティクルを落とす

次に「重力」を追加してパーティクルを床に落とす動作を入れる。

パーティクル更新ボタンからGravity Forceを追加しよう。

picture 8

右上にエラーのマークが出たのがわかるだろうか。

プロパティ画面にエラー詳細が出ているのだが、気にせず「問題を修正」ボタンを押すだけで良い。

picture 9

するとSolve Forces And Velocityというモジュールが自動的に追加されてエラーは消える。

picture 10

※ナイアガラの良いところはこういったちょっとした配置ミスをワンクリックで修正してくれるところでもある。

Solve Forces And Velocityってなに?

通常こういった物理演算は特定のフレーム1個だけで計算されるものではなく、前のフレームの速度や加速度といったパラメタをすべて考慮に入れて初めて今のフレームの状態がどうなっているのかが導き出せる。

つまりこれが計算を纏めて行うモジュールだ。

このあたりは難しいので「これまで積んできた物理演算を計算して結果に出すモジュール」と覚えておけば十分かと思う。

ちょいムズ:パーティクル更新ってなに?

picture 11

ちょいムズなので、イミフなら読み飛ばしても良い。

こちらのモジュールは「パーティクル1個ごとに毎フレーム評価される」モジュール。

物理演算などはここに入れておかないと前のフレームの速度などと合算できないので想定した動きができない。

試しに「パーティクルのスポーン」側(パーティクルが生み出されるときに1回実行)にGravity Forceを追加してみると、ぱっと見エラーなしで追加できるのだが 何も起こらなくなる。

当然ではあるが重力は加速度なのでフレームごとに速度は上がっていくはずだ。

ということはパーティクルの生成時にだけ速度計算すれば良いものではなく、ずっと演算し続けなければならない。

そこで「パーティクル更新」の中にこれを置いたわけだ。

最後の仕上げ

あとは細かいパラメタを調整して今回はおわる。

パーティクルの大きさを調整

Initialize Particle > Sprite Size ModeUniformにする

すぐ下のUniform Sprite Sizeをお好みに(ここでは3)

picture 12

これによりパーティクルのサイズを自由に変更できる。

レベルに配置

レベルに配置したい場合はコンテンツブラウザからナイアガラシステムをドラッグドロップしてやるだけでよい。

picture 16

おまけ

ここからはおまけの演出

水を出しっぱなしに

また、最初で設定したSpawnRate1000のように大きな数字にすると

picture 13

雫ではなく水が出ているような雰囲気にすることもできる。

色変え

例えば水色にしたい場合は

picture 14

同じくInitialize ParticleColorを変えてみよう。

picture 15

もはや水というよりビームである。

※光っているのはデフォルトのマテリアルの影響なので今回はスルー。いずれ説明したい。

井戸のアセットは何?

これはQuixel BridgeにてTapで検索したアセット

picture 17

QuixelのアセットはUnreal Engineならすべて無料で使えるのでここでは説明しないが使い方を調べてみると良い。

以上

正直まだ説明したりない感がまだまだあるが、既に記事のボリュームがパンパンである。

ここまで読み切った人いるのだろうか。

ここからさらにちょっといじるだけで簡単に色々なものができるので引き続きシリーズを読んでいただけたらと思う。

うひょー!

パーティクルのスポーンAdd Velocity In Coneを使った例



謎の技術研究部 (謎技研)