そもそもNiagaraとは?という説明をした記事を作りました
しかしながら、テンプレートやマーケットプレイスで既存のNiagaraを使いまわしたとしても、少し調整したくなった時、何が何だか分からないのではないでしょうか?
花火の作り方~概要~
前回のNiagaraの基本操作の記事の重複になりますが、
Niagaraとはエミッタと呼ばれる柱を組み合わせて作成していくエフェクト作成機能です
Niagaraの概念が分からない
エミッタ忘れてしまった
そんな方は、Niagaraの基本操作の記事に目を通すことをおススメします!
今回花火を作るにあたって4本のエミッタを作成して組み合わせていきます
- 花火が打ちあがるアニメーション
- [1]の軌跡
- 花火が放射するアニメーション
- [3]の軌跡
順を追って、制作手順を見ていきましょう
【前提】Niagaraファイルの作成
unrealEngineのver=5.1
チュートリアルとUEverは合わせる!
絶対!
verごとで、機能が異なる事があるから!
コンテンツブラウザ右クリック⇒FX⇒Niagaraシステム
システムの開始点を選択⇒選択したエミッタに基づく新しいシステム⇒+⇒Empty⇒終了
花火の作り方~エミッタ01 ~打ち上げ~
Emitter右クリック⇒エミッタ名を変更
大体のNiagaraエフェクトはエミッタを複数作成してエミッタ同士を接続しますが、その時に助かる事となります
AddVelocityの設定
パーティクルの速度・拡散の設定です
パーティクルのスポーン+⇒AddVelocityを検索&追加
[選択内容]パネルにエラー[問題を修正]が表示されるので、[問題を修正]を押して解消する
AddVelocity | ||
---|---|---|
VelocityMode | InCone | 三角のコーン内にパーティクルが飛ぶ設定 |
VelocitySpeed | RandomRangeFloat Minimum:2500 Maximum:3000 | 逆くの時から検索&選択 打ち上げの距離調整を行う |
DistributionAlongConeAxis | ✓0.5 | 円錐軸に沿ってパーティクルを分布 |
Cone | ConeAxis:X0/Y0/Z1 ConeAngle:50 | 速度の調整 |
InitializeParticleの設定
パーティクル粒子の設定の項目です
InitializeParticle | ||
---|---|---|
LifeTimeMode | Random LifeTimeMin:2 LifeTimeMax:4 | パーティクルの寿命 |
ColorMode | RandomRange | パーティクルの色を設定 花火に色バリエーションをつける Vの値を80にするとグラデーションとなる |
SpriteSizeMode | Non-Uniform SpriteSize:X30 Y100 | パーティクルが縦長の場合: Non-Uniform/RoandomNon-Uniform ※その他は正円 |
Cone | ConeAxis:X0/Y0/Z1 ConeAngle:50 | 速度の調整 |
Dragの設定
パーティクルの更新+⇒Dragを検索&追加
Drag | ||
---|---|---|
RotationalDrag | ☑をオフ | 粒子が回転する際の抵抗をコントロールするパラメータ |
Drag | RaondomRangeFloat minimum:0.8 Maximum:1.2 | 逆くの字から検索&選択 |
GenerateLocationEvent/GenerateDeathEventの設定
パーティクルの更新+⇒GenerateLocationEvent/GenerateDeathEventを検索&追加
設定は特に無いです
SolveForcesAndVelocityの設定
特に設定はありませんが、エミッタに赤いエラーが表示されます
なので、下記エミッターの✏プロパティCPUに✔を入れて対応します
- RequirePersistentIDs
- CombineEventSpawn
SpawnBurstInstantaneousの設定
エミッタの更新+⇒SpawnBurstInstantaneousを検索&追加
ようやく、Naiagaraのビューポートにパーティクルが表示されるようになりました!
SpawnCountに任意の数字を入れると、花火を同時に入力した数だけ発射させることが出来ます
SpriteRendererの設定
レンダリング | ||
---|---|---|
SpriteRenderer | Alignment | VelocityAligned 粒子の方向を速度ベクトルに合わせて自動的に調整する機能 風や流れなどの影響を受けた粒子エフェクトを表現 |
花火の作り方~エミッタ02 ~打ち上げの軌跡~
エミッタ01をCtrl+Dで複製
名前を分かりやすいように変更しておく
下記不要な機能を削除
- AddVelocity
- GenerateLocationEvent
- GenerateDeathEvent
- Drag
- SpawnBurstInstantaneous
InitializeParticleの設定
InitializeParticle | ||
---|---|---|
LifeTimeMode | Random LifetimeMin:0.5 LifetimeMin:1.5 | |
ColorMode | Unset | Unset=未設定 |
SpriteSizeMode | Non-Uniform SpriteSize:X3 Y30 |
CurlNoiseForceの設定
パーティクル更新+⇒CurlNoiseForceを検索&追加
CurlNoiseForce | ||
---|---|---|
NoiseStrength | 250 | ノイズ強度 |
イベントハンドラモジュールの追加
イベントハンドラとは?
エミッター同士を連携させるパラメーター
今回の場合、下記4つのエミッタを連携させる
①花火の打ちあげ↔②打ち上げの軌跡↔③花火の破裂↔④破裂の軌跡
プロパティ⇒+ステージ⇒イベントハンドラ
今回の場合、1本目のエミッターに追加した[GenerateLocationEvent]と連携して、パーティクルに軌跡のパーティクルを追加します
イベントハンドラプロパティ⇒ソース⇒1本目のエミッター:LocationEvent
その他、下記設定します
イベントハンドラプロパティ | ||
---|---|---|
ExecutiomMode | SpawnedParticles | |
SpawnNumber | 10 | パーティクルから更に噴射するパーティクルの数 |
ReceiveLocationEventの設定
イベントハンドラ+⇒ReceiveLocationEventを検索&追加
ReceiveLocationEvent | ||
---|---|---|
Velocity | Apply | |
InheritedVelocityScale | RandomRangeFloat Minimum-5 Maximam-1 | 逆くの字から選択 |
Color(LinearColor) | Apply |
花火の作り方~エミッタ03 ~放射~
- エミッタ01をCtrl+Dで複製
- 名前を分かりやすいように変更しておく
- 不要な機能を削除:CurlNoiseForce
InitializeParticleの設定
InitializeParticle | |
---|---|
LifeTimeMode | Random LifetimeMin:2 LifetimeMin:3 |
SpriteSizeMode | RandomRangeFloat Minimum-5 Uniform |
UniformSpriteSize | 30 |
AddVelocityモジュールの設定
AddVelocityを追加し、パーティクルを同心円状に拡散します
復習:AddVelocity追加するには?
AddVelocity | |
---|---|
VelocityMode | FromPoint |
SpriteSizeMode | RandomRageFloat ※逆くの字から検索 Minimum900/Maximam1200 |
Dragの設定
復習:Drag追加するには?
数値は変更せずです
GravityForceの設定
パーティクル更新+⇒GravityForceを検索&追加
パーティクルが打ち上げ花火と一緒に散ってしまっているので、重力を弱くします
Gravity:X0/Y0/Z-100
GenerateLocationEventの設定
復習:GenerateLocationEvent追加するには?
数値は変更せずです
イベントハンドラプロパティの設定
花火が打ちあがった後で拡散させます
ソースは、花火を打ち上げる動作が終了する1本目のエミッタを選択します
ソース:01_emitter DeathEvent
SpawnNumber:300
ReciveLocationEventの設定
イベントハンドラ+⇒ReciveLocationEventを検索&追加
Velocity:Output
花火を同心円内に籠らせます
花火の作り方~エミッタ04 ~放射の軌跡~
- エミッタ01をCtrl+Dで複製
- 名前を分かりやすいように変更しておく
- 不要な機能を削除
AddVelocity
Drag
GravityForce
GenerateLocationEvent
InitializeParticleの設定
InitializeParticle | |
---|---|
LifetimeMode | Random LifetimeMin0.1/LifetimeMax0.5 |
SpriteSizeMode | RandomUniform UniformSpriteSize:Min0.5 UniformSpriteSize:Max5 |
イベントハンドラプロパティの設定
イベントハンドラプロパティ | |
---|---|
ソース | 3本目のエミッタ/LocationEvent |
SpawnNumber | 10 |
ReciveLocationEventの設定
復習:ReciveLocationEvent追加するには?
Velocity:Apply
シーケンサーで任意のタイミングでエフェクトを表示
レベル内に適宜作成したniagaraシステムを配置するだけでも表示はされますが、任意のタイミングで表示させたい時は、シーケンサーでコントロールします
アウトライナにもNiagaraが追加されます
シーケンサーのniagaraシステム+トラック⇒NiagaraComponent0⇒アイテムのライフサイクル⇒ライフサイクルのトラックを任意のタイミングに動かして設定
シーケンサーの説明記事にも記載しております
まとめ:多機能のNiagara。最初は目的を持って、チュートリアルの数をこなそう
パラメーターが多すぎて、手順を追うのに精いっぱい
どのパラメータが何をしているのか分からない…
最初はそんなもんだと思います
Naiagaraはマーケットプレイスで十分という人も、手に入れても何をどうすればいいか状態だと思うので、数個チュートリアルをこなしておくと良いと思います
YouTubeに上がっている無料動画も良いですが、最初の1つぐらいは質問可能で細かく解説している有料チュートリアルを行って、こんこんと向き合うのをおススメします
参考文献にまとめておきますね
参考文献
この度は大変お世話になりました!
Colosoと書籍は実際に使用したものとなります
①Coloso UE5とAEを活用した背景とモーショングラフィックス制作
②Unreal Engine 5で学ぶビジュアルエフェクト実装
③Udemy
講座価格帯 | 約1800円~約27800円 |
不明点の対応 | ・有料講座限定 ※メッセージ機能が有効の場合 ・Q&Aスレッドで質問投稿&閲覧可能 |
主な講座 | ・Unreal Engine 5: One Course Solution For Niagara VFX 価格13800円(セール期間:1500円) 受講時間:17.5時間 ・Unreal Engine – VFX for Games – Beginner to Intermediate 価格27800円(セール期間:1800円) 受講時間:7時間 |
④CGworld オンラインアカデミー
CG・アニメ・ゲーム業界…映像に関わる人ならだれでも読んでいる定番雑誌がお届けするチュートリアルサイト
2024年5月ごろ、niagaraに関する新しいチュートリアルがリリースされる予定
講座価格帯 | 約5300円~約6600円 |
不明点の対応 | ・有料講座限定 ※メッセージ機能が有効の場合 ・Q&Aスレッドで質問投稿&閲覧可能 |
主な講座 | ・UE4のNiagaraを使用したエフェクト制作講座 価格5300円 受講時間:約9.5時間 ・UE5で作る氷エフェクトチュートリアル 価格5300円 受講時間:約2.5時間 ・UE4 Niagaraリアルタイムエフェクト実践講座 価格00円 受講時間:約3時間 |
コメント