[UE4ぷちコン 映像編3rd]振り返り:VFX小ネタ
ここは[UE4ぷちコン 映像編3rd]振り返りの子頁です。
概要
Splineに沿ってDecal生成して表示制御
複数Niagaraの制御のためにMPC Trackを用途外に使った悪例
Splineでビーム痕制御
目的
Niagaraから焦げDecal貼れるようにしたが、肝心のスプリンクラーを焼くのが手間
すっ転ぶアクションが一瞬すぎて天井に十分な量のビーム痕の跡ができる時間がない
スプリンクラーがある場所に焦げができるように向きを制御するのがしんどい
意図しない場所にビーム痕が付いてしまう時がある
ほな自分でDecal貼ったらええがな!
予め貼っといてSequencerで表示制御すればええんや!
大量に手で貼るのしんどい
大量の制御対象に対して表示制御もしんどい
ビームで焼きたい軌道は決まっている
Splineをそれに沿わせてDecalも自動生成すれば良さそう
実装
Spline ComponentをもつActorを作る
Construction ScriptでDecalを作り配列に格納
Decal表示制御用の関数を作り、ShowRate変数でSpline上のどこまでDecalを見せるか決める
Previewのために関数をCall in Editor設定にしておく
ShowRate変数をExpose to Cinematicsにして、Trackで制御
同時にRepeater Event Trackで上記のShow Decals from Rate関数を呼び続ける
tickでも動作するがpreviewしたいのでRepeater Eventで駆動している
Material Parameter Collection経由でNiagara変数制御(悪例)
注意事項
真似しないほうが良い
やっちゃた記録として残します
目的
黄ヘッドの「物体同士を近づけるほど激しく反応する」演出で、動的にSpawnRateを変更したい
SequencerからSpawnRateの値を制御したい
実装
Shiotani先生の解説記事にある通り、NiagaraのUser変数はSequencer Trackで制御できる
ただInstance個別の操作であり、複数のNiagara Systemを同時に操作することはできない
Trackごとコピペはできるけどその後の調整が面倒
Niagara Parameter CollectionはSequencerから操作できないし…
Material Parameter Collectionはできるのになぁ…
せや!💡
Sequencer Directorに変数で制御対象を覚えさせる
どこからでもPreviewできる様に、Repeater Event Trackで常に登録し続ける
EventはPreviewのためにCall In Editor設定にしておく
標準のMaterial Parameter Collection TrackでMPC_Nuclearの値を制御
Repeater Event Trackで更新処理を指示
これもCall In Editor設定
制御対象が登録済みかどうかは常に確認
MPC_Nuclearから値を取り出して、登録済みNiagara Systemに反映
アカン
明らかにMPCの用途外
それにSequencer Directorで頑張りすぎると流用が難しくなる
「Niagara System群の参照を持って制御するBlueprint」を作ったほうがいい
制御対象がPosessableなら静的に参照を作れる
Spawnableな場合は本記事と同様にやらないとダメかも
必要な制御変数をExpose to CinematicsにしておけばDirectorで頑張る必要もなくなる
所感
いきあたりばったりすぎ!
Splineでビーム痕つけるなら、Niagaraでやる必要なかったやんけ…
複数のNiagara制御も中継するBlueprint作ればよかったんや…
時間をおいて振り返る事でより適切な手段があることに気づけてよかった(今日のよかった探し)