PaperSloth’s diary

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

UE4 Niagara Rendererについて

環境

UE4.19.0


Rendererの種類について

先ず新規Emitterを作成すると下図のようなエフェクトが生成されます。
f:id:PaperSloth:20180402205657p:plain

これはSprite Rendererでパーティクル作成でよく使用される基本形です。
SubUV Indexを利用することで煙や炎も表現することができます。

NiagaraのRendererの種類は全部で4種類あります。
・Light
使用について未検証のため、詳細が分かり次第追記予定です。
・Mesh
Static Meshをパーティクルに利用できるものです。
SFチックな盾や爆発の破片などに利用され、Spriteの次に利用されると思います。
Ribbon
リボン形状のもので発生源から終点への軌跡を描きます。
綺麗なリボン上のものから複雑な形状まで表現できます。
・Sprite
パーティクルの基本形で最も利用されるものです。


Rendererの追加方法はEmitter, Systemの最下部にRenderカテゴリがあるため
そこの + ボタンから追加することができます。
f:id:PaperSloth:20180402210653p:plain

"+"ボタンを押下すると下図のようにRenderer Properties一覧が出るので
使用したいRendererを選択しましょう。
f:id:PaperSloth:20180402210728p:plain


Mesh Renderer

試しにMesh Rendererを追加してCubeを設定してみました。
f:id:PaperSloth:20180402210911p:plain

f:id:PaperSloth:20180402211004p:plain

また、設定したMeshのOverride Materialsを有効にすることで
Materialを変更することができます。
f:id:PaperSloth:20180402211156p:plain

f:id:PaperSloth:20180402211309p:plain


簡単にですが、Mesh Particleでシールドを作ってみました。
動きの制御はSpriteの時と同じなので、使いやすいですね。


Ribbon Renderer

Default EmitterにRibbon Rendererを割り当ててみました。
f:id:PaperSloth:20180402212541p:plain

f:id:PaperSloth:20180402212646p:plain

NiagaraPlugin内にDefaultRibbonMaterialがあるので、これを利用するとRibbonの基本的な動きは表現できそうです。

また、RibbonではEmitter自体はSpawn位置を少しばらつかせるだけで下図のようになります。
f:id:PaperSloth:20180402213616p:plain

これにBlueprintで簡単な移動処理を加えるだけで面白い移動の軌跡を表現できます。


NiagaraSystem, Actorについてのプログラマー向け小ネタ

Blueprintとの連携については以前に記事を書きました。
papersloth.hatenablog.com

Niagara Systemについて

Niagara SystemはLevel上に配置が可能ですね。
これは配置した時にNiagara Actorが作成されて、その下にNiagara Componentがアタッチされます。
また、Niagara System自体はUObjectを継承したクラスなので厳密にはNiagara Systemは配置していません。
f:id:PaperSloth:20180402214503p:plain

Niagara Actorについて

f:id:PaperSloth:20180402215311p:plain
Niagara Actorの継承関係を見るとActorを継承して作られていますね。

Niagara Actorを継承してBlueprintを作成すると
Niagara Component
・Bliiboard Component
・Arrow Component
の3つがアタッチされていますね。
f:id:PaperSloth:20180402215657p:plain

Niagara Actor側のソースコードを見ると分かるのですが
ほとんどEditor側でのみ有効になっています。
Runtimeで有効なのはNiagara Componentぐらい。

そのため、動作的にはActorを継承したBlueprintに
Niagara Componentをアタッチするのに近いですね。
f:id:PaperSloth:20180402220110p:plain