3
1

More than 1 year has passed since last update.

[UE5]Niagara Fluidsでプレイヤーの当たり判定をとってくる

Last updated at Posted at 2022-11-09

UE5.1でやる場合はここのやり方でできないからこっちも参考に
https://qiita.com/Noirkun/items/3e1c6a85005fd97e0d2a

こんな感じでプレイヤーが通ったらNiagaraにも変化が出るようなもの作っていくよ
今日やって忘れそうだから急いで書いてるよ。

Qiita02_-_Unreal_Editor_2022-11-09_17-20-35_Trim_AdobeExpress.gif

おまけでStaticMeshとか使う場合もやってるよ
Qiita02_-_Unreal_Editor_2022-11-09_17-44-10_Trim_AdobeExpress.gif

はじめるにあたって必要なこと

まず今回の作るのに必要なもの

・プラグイン "Niagara Fluids"

・UnrealEngine 5.0.3

こっから下はプラグインの入れ方を書いてるからわかる人は本題まで

まずやるにあたって"Niagara Fluids"っていうプラグインを追加しておくよ。
チェック付けたら再起動を忘れずにね。

image.png

本題

1.サンプルのNiagaraを出していく

まずプラグインで追加されたNiagaraを出してくるよ。
コンテンツブラウザ内で右クリックしたらNiagaraシステムっていうのを押すよ。
image.png

そしたら上から二番目のやつを選択
image.png

最後に"Grid 3D Gas Smoke"ってやつを選択(プレイヤーが当たって動くようにするだけだからほかのやつでも大丈夫...なはず)
image.png

後はそれっぽい名前を付けて保存(ここではNS_Smokeってつけたよ)
image.png

ちなみに今の状態で煙にあたってもこんな感じでなにも起こらないよ。
Qiita02_-_Unreal_Editor_2022-11-09_16-15-31_Trim_AdobeExpress.gif

2.NS_SmokeにSkeletalMeshCollisionの項目を追加

実はこの煙くんStaticMeshは判定が取れるけどSkeltalMeshとかは取れないんですよね...(調べた限りは無かった。あったらごめん...)

なので判定が取れるようにこの煙くんの中身をいじっていきます。
それとStaticMeshの判定の取り方もちょっと下に一応書いておくので気になる人は見てね。

まずはNS_Smokeをダブルクリックで開いたら、青色のノードの中のユーザーパラメーターから”Object”を追加するよ。
image.png

追加出来たら名前が”New Object”的なやつだと思うので”SkeletalMeshCollision”に名前を変えてくよ。名前のところを押してF2を押すとすぐ編集できるよ。
(下から二番目が追加して名前を変えた項目)
image.png

次にさっきの画像の上から二番目の”Physics Asset”って書かれてるところを開いて、さっき作ってあげた”SkeletalMeshCollision”をくっ付けてあげるよ。
image.png

青色のところの設定はこれで終わり。
次に下のエミッターの部分をいじるよ(数秒で終わる)

エミッターの中のエミッタの概要から”Physics Asset”の項目にチェックを入れるよ。
(UE5.1だとこの項目がないからこっちの記事でやってみてね)
image.png

はいエミッターも終わり。
最後に煙くんを保存してあげてね。

3.”SkeletalMeshCollision”の中身を設定してあげる。

最後に”SkeletalMeshCollision”の中身を設定してあげるよ。
まずはレベル上にNS_Smokeを出してあげるよ。
次にレベルブループリントを開こう。

開いたら"BeginPlay"(Pを押しながら左クリックでも出せるよ)と
レベル上のNS_Smokeをこんな感じで取ってくるよ。
image.png

そしたら”Set Niagara Variable(object)”っていうノードを出すよ。
image.png

このノードでは"In Variavle Name"に書かれたところに何のオブジェクトを入れてあげるのかを決めるよ。

ここで”SkeletalMeshCollision”の中身をこんな感じに設定してあげる。
image.png

"In Variavle Name"にはNS_Smokeで追加した”SkeletalMeshCollision”って名前
ObjectにはプレイヤーのSkeletalMeshを入れてあげるよ。
"Get Compompoment by Class" には"SkeletalMeshCompompoment"を入れてあげてね

これで終わり!!

後は実際にプレイしてみると...
Qiita02_-_Unreal_Editor_2022-11-09_17-20-35_Trim_AdobeExpress.gif
煙が...動く!!!(元から動いてる)
ていうのができます。

Niagara Fluidsちゃんと触ったの今日からだけどちゃんと使えたら楽しそう...
みんなも使ってみて情報増やしていこう

おまけ.StaticMeshの当たり判定の追加のしかた

ここは割と簡単なので後ろに回したよ。

まずはNiagaraをレベルに出してくるよ。
ちょっと気分変えてPoolのNiagaraでやってるけど上で作ったやつでもできるから安心してね。("Grid 3D FLIP Pool"っていうのを使ってるよ)
image.png

そしたらStaticMeshを準備するよ。
左のアクターの中から適当なものを持ってくるよ。
image.png

ちなみにこの状態で動かしても何もならないからね?
Qiita02_-_Unreal_Editor_2022-11-09_17-36-24_Trim_AdobeExpress.gif

動かないのを確認したら出してきたStaticMeshを選択して詳細(Detail)から"tags"と検索するよ。
そしたら"タグ"と"アクタ"が出てくると思うんだけどアクタのほうでタグを作成していくよ。
image.png
この中に”Collider”って入力。打ち間違えとかしてたら何も起きないから注意だよ。
そしたらもう一度動かしてみよう。
Qiita02_-_Unreal_Editor_2022-11-09_17-44-10_Trim_AdobeExpress.gif
めっちゃ動く。
ようはスタティックメッシュはタグでCollisionの判定を取ってあげてるんだね。

ちなみにタグの名前はNS_Poolを開いて青色のノードのユーザーパラメータに入ってるStaticMeshCollisionsから確認できるよ
image.png

なのでここを適当な文字にセットしたらStaticMeshのほうのタグの名前も変えてあげれば動くよ。

おまけおしまい。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1