PaperSloth’s diary

主にゲーム開発関連についての記事を書きます。

UE4 Niagara Function Scriptについて

環境

UE4.19.0


Niagara Function Scriptについて

Functionという名前がついていることからある程度予測できそうですね。
そして、その名前から予測できた内容と恐らく合っていることでしょう。

Niagara Function Scriptは
Material FunctionのNiagara
Blueprint Function Libraryの1つのFunctionのようなものです。

複数のNiagara Module Scriptで再利用可能な関数のことです。


Niagara Function Scriptを使ってみる

ちょっと良い例が浮かばなくて申し訳ないですが、使い方の雰囲気だけ伝わると幸いです。

試しにNiagara Function Scriptを作ってみましょう。
f:id:PaperSloth:20180327003333p:plain

AddUpVectorという名前のFunction Scriptを作成しました。
f:id:PaperSloth:20180327003945p:plain

開いてみると下図のようにInputとOutputがあります。
f:id:PaperSloth:20180327004011p:plain

今回は練習用なので特に中身に意味はないのですが
入力されたベクトルのZに任意の値を足す関数です。
f:id:PaperSloth:20180327004450p:plain

呼び出し方法は下図のようにNiagara Module Script内で関数名を入力することで呼び出しができます。
f:id:PaperSloth:20180327004822p:plain
f:id:PaperSloth:20180327004812p:plain


Particleの速度を取得してそこにSpeedで指定された値をZ軸にのみ足す処理を作ってみました。
f:id:PaperSloth:20180327005044p:plain

これをNiagara ExtrasにあるEmitterのUpdateに追加した結果が下記になります。
ここではSpeedに10を与えています。


まとめ

Niagara Function Scriptの例としては良くなかったのですが、使い方のイメージは伝わったでしょうか?

実用的な関数の例はNiagara, Niagara ExtrasのContentフォルダを覗いてみてください。
SlerpQuaternionやEularToQuaternionなど実用的な関数が沢山登録されています。