見出し画像

UE5/UEFNナイアガラで桜の花びらを散らす#1

本記事では、Niagaraで以下の様な桜の花びらを散らせます。
(様々な葉っぱに応用できます)

さくら

必要な知識

・マテリアルの基礎
・ナイアガラの基礎

使用するアセット

花びらのメッシュ

花びらのテクスチャ

プロジェクトに、これら2つのアセットをインポートします。

新規マテリアルを作ろう

新規マテリアル「M_Sakura」を作成し開きます。

M_Sakuraマテリアル

以下のようにTextureSampleノードに、上記でインポートしたテクスチャ(T_Sakura)を設定して、
T_Sakuraの背景を透過するために、マテリアルのBlend Modeを、
Maskedに変更します。
そして花びらを、裏側から見てもテクスチャ(T_Sakura)が見えるようにTwo Sidedに✓を入れます。

マテリアルの設定

これでM_Sakuraマテリアルが完成しました。

新規ナイアガラシステムを作ろう

新規ナイアガラ「NS_Sakura_Leaf」を作ります。

ナイアガラシステムの作成
NS_Sakura_Leaf

エミッター選択時に、HangingParticulatesテンプレートを選択して開きます。

HangingParticulates

HangingParticulatesを元に、花びらが散る動きを表現していきます。

ここからは、各モジュールを設定していきます。

RenderをSpriteからMeshに変更

現在SpriteRendererがRender項目で使用されています。

Sprite Renderer

以下のようにMeshRendererに変更して、冒頭でインストールしたメッシュとマテリアルを適応します。

レンダーの変更
メッシュとマテリアルの設定

マテリアル適応時に、以下のようなエラーが表示された場合は対処します。

M_Sakuraマテリアルを開き、Detailsパネル内のさらにUsage内の以下の項目にを入れます。
「Particle Sprites」
「Mesh Particles」
「Niagara Sprites」
「MeshParticles」
「Nanite」

これでエラーが表示されずに、NS_Sakura_Leafを確認すると桜が表示されていると思います。

適応した花びらの確認

エミッターのモジュール設定

完成版

モジュールを追加

上から順番に、各モジュールの詳細を設定していきます。

これから紹介する各モジュールの値は、あくまでも冒頭に紹介した桜の動画エフェクトになるように値が設定されています。
※各値はお好みで調整してください。

Emitter State

Loop Behaviorは、花びらを途切れることなく散らせたいのでinfiniteにしています。

エミッターステート

Spawn Rate

スポーンレート

Initialize Particle

LifetimeRandomで長めに設定しいます。
今回はSpriteRendererではなくMeshRendererなので、SpriteAttributesを全てUnsetにしています。
MeshAttributesは、以下画像の様に設定しています。

Initialize Particle

Shape Location

本エフェクトの形を、Boxで使用してBoxSizeを調整しています。

Shape Location

Particle State

Particle State

Curl Noise Force

このモジュールを使い、花びらが落ちるときのうねりを調整します。

Curl Noise Force

Wind Force

花びらに風の効果を当てます。
Wind SpeedRandom Range Vectorに変更します。
Turbulenceとは直訳すると乱気流です。
TurbulenceのScaleの値(4.0)を大きくすれば花びらが暴れます?

Wind Force

Drag
説明が難しいですが、花びら同士が引っ張られるような表現です
実際に、数値を極端上げ下げして確認してください。

Drag

Scale Color

Alphaのみ変更しています。
フワッと現れフワッと消えていきます。
その他のRGBの値は1.0です。

Scale Color

Mesh Rotation Force

各値とも -2.0~2.0 の間でランダムにメッシュ(花びら)が回転します。

Mesh Rotation Force

Gravity Force

重力の設定です。
正の数値で無重力状態となり、負の数値で重力が重くなります
今回は、Z軸のみに-100としています。

Gravity Force

Solve Forced and Velocity

Solve Forced and Velocity

最後に一番上に戻って、Properties内のSimTargetをCPUからGPUに変更します。
簡単に説明するとこの設定は、このパーティクルの処理をCPUが行うかGPUが行うかの設定です。
Spawn Rateなどの数値が大きくなると、CPUでは様々な処理を行っているのでPCなどのスペックによっては、処理落ちしたり画面がカクついたりします。

Spawn Rateの数値を上げて、CPUやGPUに処理させて試して見るのがいいと思います。

CPU~GPU

最終結果

Previewで、以下のようになっていれば完成です。

完成

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