single.php

Unreal Engine Naiagaraで雨を降らせる方法(その1)

ゲーム開発を試してみようと思い立ち、Unreal Engine 5をインストールして開発する過程で調べてみた部分を備忘録的に投稿します。今回は「Naiagara」を利用してレベル上に雨を降らせる方法を紹介します。

Naiagaraで雨を降らせる

オープンワールド形式のゲームで実装されている天候変化には雨や雪が降ることがあります。Unreal Engineには、複数のマテリアルの挙動をまとめて管理する「Naiagara」機能が追加されているので、こんな感じで雨の表現が可能です。

今回は、かなり簡略化していますが雨のように見える「Naiagara」の作成を紹介します。

レベルに雨に降らせる仕組み

Unreal Engineの「Naiagara」では、こんな感じで雨を作ることができます。

形状をランダムに生成した「マテリアル」を所定の範囲のスポーンして重力で落下させます。

スポーン後にレベルに接触したら削除(デストロイ)します。

その後に、落下地点に別のマテリアルをスポーンして雨粒の跳ねを表現します。

最後にリング状のマテリアルを同じ場所にスポーンして波紋的な表現を追加します。

実際には、雨粒が接触した後にレベルが濡れた表現なども必要になりますが今回はサンプルということで、こんな感じで作成していきます。

雨になるマテリアル

最初に「Naiagara」で利用するための「マテリアル」を作成していきます。

1.[コンテンツドロワー]を開いて空いている場所でマウスの右クリックして表示されたメニューで[マテリアル]を選択します。

2. 追加された[マテリアル]の名前を “MT_Rain” に変更します。

3.[MT_Rain]を開いて[詳細]画面の[マテリアル|Shading Model]一覧から[Translucent]を選択します。

4.[マテリアルグラフ]の空いている場所で右クリックして表示された画面で “ParticleColor” を検索して追加します。

5. [Particle Color]ノードが追加されます。

6.[Particle Color]ノードの[RGB]ピンと[MT_Rain]ノードの[エミッシブカラー]ピンを接続します。

7.[イベントグラフ]の空いている場所でマウスの右クリックして、表示された画面で “RadialGradientExponential” を検索して追加します。

8.[RadialGradientExponential]ノードの[RadialGradientExponential]ピンと[Particle Color]ノードの[RGBA]ピンを[Multiply]ピンで結合します。

9.[Multiply]と[MT_Rain]ノードの[オパシティ]ピンを接続します。

ここまでの作業で雨粒を表現するマテリアルが出来上がりました。

波紋になるマテリアル

次にレベルに接触後に表示されるリング状の「マテリアル」を作成していきます。

1.[MT_Rain]と同様に[コンテンツドロワー]を開いて[マテリアル]を追加して名前を “MT_Ring” に変更します。

2.[MT_Ring]を開いて[詳細]画面の[マテリアル|Shading Model]一覧から[Translucent]を選択し下のイメージのようにノードを接続します。

3.[イベントグラフ]の空いている場所でマウスの右クリックして、表示された画面で “RadialGradientExponential” を検索して追加します。

4. キーボードの[1]キーを押しながらマウスの左クリックして定数ノードを2つ追加して、それぞれ[0.5]と[5.0]に設定して[RadialGradientExponential]ノードの[Radius]ピンと[Density]ピンに接続します。

5. [RadialGradientExponential]と定数ノードをもう1つ追加して、下のイメージのようにピンを接続します。

6.2つの[RadialGradientExponential]ノードの[RadialGradientExponential]ピンを[Subtract]ノードに接続します。

7.[Subtract]ノードと[Multiply]ノードを接続します。

ここまでの作業でリング状の雨粒を表現するマテリアルが出来上がりました。

今回紹介する作業は、ここまでです。次回は、マテリアルを設定した「Naiagara」を作成していきます。

まとめ

今回も長い手順になりましたが、Unreal Engineでアクションゲームで見かける雨などを表現する機能を作る手順について書きました。

今回は2種類の雨粒を表示するマテリアルの作成する手順ですが、次回はマテリアル使って実際に雨粒を降らせる手順を紹介していきます。。

Unreal Engineのゲーム開発で雨や雪などをレベルに表示させたい人の参考になれば幸いです。

スポンサーリンク

最後までご覧いただき、ありがとうございます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です