トレーナーブログ

UE5 CascadeをNiagaraに変換する(Cascade To Niagara Converter プラグイン)

2021年12月17日(金)

今回は、【CascadeからNiagaraに変換する方法】について触れていきます。

以下の画像はUE4とUE5でエフェクト(Cascadeパーティクルシステム(以後、Cascade)とNiagaraエフェクトシステム(以後、Niagara))を追加しようとした際のメニューの違いです。
公式ドキュメント:Cascade to Niagara Converter プラグイン

UE4ではメニューの目立つところにCascadeの追加項目がありますが、UE5 EA(Early Access)では[その他]の中に[Cascadeパーティクルシステム(レガシー)]と表記されています。
レガシー(Legacy)とは日本語訳すると「遺産」という意味なので、「今後エフェクトを作るときはCascadeでなく、Niagaraを使用してくださいね」という扱いに変わります。

今後Niagaraに変わっていく際に、Cascadeで作成したエフェクトを「Cascade To Niagara Converterプラグイン」を使用してNiagaraに変換する方法について数回に渡って説明します。

【目次】

  1. CascadeとNiagaraの違いについて
  2. Cascade To Niagara Converterプラグインを使ってCascadeからNiagaraに変換する
  3. 変換したNiagaraの初期パーティクル発生位置が違う場合の対処について
  4. 警告とエラーを修正する
  5. 使用していないモジュールは削除してから変換する
  6. まとめ

1. CascadeとNiagaraの違い

Cascadeは「Emitter」と「Module」で構成されています。
「Module」はパーティクルの動作を定義するものです。色、位置情報、スピードなどいろいろな役割のModuleが用意されています。
「Emitter」は複数のModuleで構成されパーティクルを作成します。Emitterは複数組み合わせることが出来ます。

NiagaraもCascadeと同様に「Emitter」と「Module」で構成されています。「Module」がカテゴリ毎に分かれているので構成が見やすくなっています。

CascadeもNiagaraもModuleを組み合わせてEmitterを作成していくことは同じです。
CascadeとNiagaraで一番の大きな違いは、「Emitter」と「Module」を別々のアセットとして管理できるようになったことにあります。

別々なアセットにしたことで同じEmitterを使いまわすことが便利になりました。Niagaraでは大元のEmitterアセットを編集することで、使用しているすべてのEmitterに変更が反映されました。CascadeではEmitterを使いまわすには、すべてのEmitterに対して1つ1つ変更を加えなくてはなりませんでした。Emitterを別のアセットとして管理できるようにしたことで、Emitter同士の組み合わせもしやすくなりました。

Cascadeでは決められたModuleを組み合わせることでEmitterを構成していました。NiagaraではModuleをブループリントで自作することが出来るので、より複雑なEmitterを構成することが出来るようになりました。

他にも色々とNiagaraで出来ることになったことはありますが、CascadeからNiagaraに変換する上で知押さえておくことは以上の点になります。

2. Cascade To Niagara Converterプラグインを使ってCascadeからNiagaraに変換する

前回のModeling Toolsと同様に極め本のコンテンツを使用します。
Goal用のアイテムに使用する「PS_GoalItem」を「Cascade To Niagara Converterプラグイン」を使用してCascadeからNiagaraに変換します。

「Cascade To Niagara Converterプラグイン」を有効にします。
[編集]
> [プラグイン]

[Cascade]で検索
> [Cascade To Niagara Converter]の[有効にする]にチェック
> [ベータ版だけど使用するか]を確認するダイアログが表示されるので[はい]をクリック
> [今すぐ再起動]をクリックしてプロジェクトを開きなおす。

Cascadeのアセット「PS_GoalItem」をクリック
> [ナイアガラシステムに変換]

[Niagaraシステム]のアセットが作成されます。

[Niagaraシステム]を開くとCascadeのModuleがNiagaraのModuleに変換されています。

変換して出来た[Niagaraシステム]をCascadeの隣に配置してみます。
変換したNiagaraと変換したCascadeが同じ動作をしていないことが分かります。
[Cascade To Niagara Converter]では完璧にCascadeをNiagaraに変換できる訳ではありません。

では、どのようにしたら変換して出来たNiagaraから元のCascadeを再現できるのでしょうか。

3. 変換したNiagaraの初期パーティクル発生位置が違う場合の対処について

Cascadeと変換後のNiagaraを比較してみるとパーティクルの発生している初期位置が違います。

Niagaraの初期パーティクル情報を定義しているモジュール「INITIALIZE PARTICLE」を確認します。
Positionの項目に数値は設定されていますが、チェックボックスが有効になっていません。

「INITIALIZE PARTICLE」の[Position]のチェックボックスを有効にすると、パーティクルの初期発生位置が設定されます。

レベルに配置していたCascadeとNiagaraを確認します。
パーティクルの動作は同じになりましたが、発生位置はレベルの原点位置になってしまい、Niagaraシステムのアクタを移動しても位置を動かすことが出来ません。「INITIALIZE PARTICLE」の[Position]はWorld座標を指定するプロパティとして動作するようです。

Unreal Engineの座標には「相対座標」と「World座標」という2つの座標があります。
「相対座標」は親の位置からの座標になるので、親が原点位置になります。
「World座標」はマップの原点が原点位置になります。
「INITIALIZE PARTICLE」の[Position]はWorld座標を使用するので、親となるNiagaraシステムではなく、マップの原点位置を起点とした設定となってしまっています。

Cascadeと同様にNiagaraシステムを配置した位置(早退)から発生するように変更します。
「INITIALIZE PARTICLE」の[Position]のチェックを外して元に戻します。

Niagaraシステムを配置した位置から40x40のエリアに初期パーティクルを発生するように修正します。

配置したところからパーティクルを発生させたい(相対位置)場合は、Locationのモジュールを使用します。今回は四角のエリアから発生させいさせたいので「BoxLocation」モジュールを使用します。

Niagaraシステムを開く
>パーティクルのスポーンの[+]をクリック
> [Location]で検索
> [Box Location]を選択します。

[Box Location]を選択し、Box Sizeを[X:40.0 Y:40.0 Z:0.0]に設定します。
これで配置した場所から40x40のエリアにパーティクルが発生するようになります。

並べて配置していたCascadeとNiagaraが同じ見た目になり、Niagaraシステムを配置した位置からパーティクルが発生するようになりました。

4. 警告やエラーを修正する

変換した後のモジュールを確認すると△の中に!が入っている黄色いアイコンが表示されています。
アイコンが表示されているモジュールを選択すると、「詳細不明なエラー」と表示されています。

「この問題を認識して解決します。」の文字をクリックするとアイコンと詳細不明なエラーの情報が消えます。アイコン自体が消えてもパーティクルには影響がありません。

別のCascadeを変換した時に赤いアイコンが表示されることがあります。
赤いアイコンが表示されたモジュールを選択すると「モジュールの依存関係が解決していません。」と表示されています。

赤いアイコンが出ている場合は、[問題を修正]をクリックするとエラーの原因となっている問題を修正してくれます。今回の問題はモジュールの順番が問題だったので、エラーとなっていたモジュールの位置が移動しています。
赤いアイコンは[問題を修正する]をクリックするとパーティクルの動きにも変化が出ます。

黄色いアイコンは「警告」。赤いアイコンは「エラー」と判断して、エラーはパーティクルの動作に影響があるので「問題を修正する」をすることで解決出来ることを覚えておきましょう。

5. 使用していないモジュールは削除してから変換する

変換元のCascadeにモジュールが重複するように追加します。
今回は色を変更する「Color Over Life」を追加して色違いになるように設定します。
元々あった白のままの「Color Over Life」は新しく色が変わるように追加した「Color Over Life」の下になるようにします。

「Color Over Life」の白側を無効にしてNiagaraシステムに変換をします。

変換結果では無効にしていた白い「Color Over Life」が変換されていました。

白い「Color Over Life」が上になるように移動してから変換します。

今度は赤い「Color Over Life」モジュールが変換元として採用されました。

Cascade To Niagara ConberterプラグインはCascadeのModuleを上から順番に変換していきます。モジュールが有効か無効かは問わずに変換していきます。同じモジュールがあったら、下のモジュールで変換結果を上書きしてしまいます。

変換する時は変換元のCascadeのモジュールが使用されているかどうか確認し、使用されていないモジュールは削除してから変換しましょう。

6. まとめ

パーティクル発生位置はLocationモジュールを使用して設定する

パーティクル発生位置は「Initialize Particle」の「Position」はWorld座標の設定になってしまうので使用しないようにしましょう。

パーティクル発生位置は「Location」で検索して見つかるモジュールを使用して設定すると相対座標にLocationモジュールで指定した位置からパーティクルが発生します。

エラーは問題を修正するボタンをクリックして直す

変換した際にモジュールに警告(黄色いアイコン)とエラー(赤いアイコン)が表示されます。

エラーのモジュールは「問題を修正する」ボタンをクリックすることで正しい動きをするように修正されます。

変換元の使っていないモジュールは削除してから変換する

Cascade To Niagara ConberterはCascadeのモジュールを上から順番に変換していきます。同じモジュールがあったり、無効にしているモジュールは削除してから変換するようにしましょう。

次回はCascadeのパーティクルの種類とCascade To Niagara Conberterで変換できない種類

次回はCascadeのパーティクルの種類とCascade To Niagara Conberterで変換できない種類について解説します。

【Twitterで情報発信中】

TrainingCampでは、今後もUE4のTips記事を発信していきますのでTwitterのフォローをよろしくお願いします。
Twitterアカウントはこちら

ゲームコースの受講生募集中!

TrainingCampではゲームコースの受講生を募集しています。 極め本をバージョン4.26で学習出来るように対応しています! UnrealEngineを一緒に学習しましょう! ゲームコース Epic Games Japan公認! UE4のバイブル本「極め本」を極めよう! 本書はUE4の解説書として Epic Games Japanより「公認」されており、 解説書として一番の販売部数を誇ります。