エフェクトアセット『Character Body FX Vol. 1』を使ってキャラクターから炎や粒子を大放出!使用方法からカスタマイズまでを通じてNiagaraの基本を押さえよう

2023.02.28
注目記事お役立ち情報アセットレビューアンリアルエンジンエフェクトマーケットプレイス
この記事をシェア!
Twitter Facebook LINE B!
Twitter Facebook LINE B!

大量の粒子パーティクル)によるパーティクルエフェクトは、ゲームや映像のリッチさに大きく寄与します。

Unreal Engine 5に搭載されているビジュアルエフェクトシステム「Niagara」は、扱いやすいエディタによって、直感的なパーティクルエフェクトの作成を実現する機能です。本記事では、Niagaraで作成されたビジュアルエフェクトアセットパック『Character Body FX Vol. 1』を通して、Niagaraの扱い方を解説します。

TEXT / wvigler
EDIT / 神谷 優斗

目次

今回使用するアセットを紹介

Character Body FX Vol. 1』は、Niagaraで作られた、スケルタルメッシュの形をもとにパーティクルを発生させるビジュアルエフェクトのアセットパックです。コインやボタン、ガラス、トイレットペーパーといったメッシュのほか、スプライトやライトを発生させるパーティクルエフェクトが含まれます。

粒子によるビジュアルエフェクトや粒子そのもののことを「パーティクル」と呼ぶことが多い

事前準備

Character Body FX Vol. 1』はプロジェクトに追加して使用します。そのため、最初に追加先となるプロジェクトを用意しましょう。今回は、サードパーソンテンプレートをもとに新しいプロジェクトを作成します。

プロジェクト名は『NiagaraTest』とした

次に、『Character Body FX Vol. 1』のマーケットプレイスページに行き、購入手続きをした上で、「プロジェクトに追加」ボタンから作成したプロジェクトにインストールしましょう。

インストールが終わった後にコンテンツドロワーを確認すると、「コンテンツ」の下に「CharacterBodyFX」というフォルダが作成されています。

これで、『Character Body FX Vol. 1』を使う準備ができました。

「コンテンツ\CharacterBodyFX\Maps」には「Demo」という名前のデモマップが収められています。プレイを開始すると、音楽とともにエフェクトのデモが再生されます。

このデモを正常に動作させるには平面反射の有効化などが必要になるが、エフェクトの確認だけであれば必要ない

このマップのものとほぼ同じデモ映像を公式がYouTubeで公開している

エフェクトを自分のキャラクターに適用してみよう

これらのエフェクトを、サードパーソンのデフォルトキャラクターに使われているスケルタルメッシュ「SKM_Quinn_Simple」に適用してみましょう。

    まず、「コンテンツ\ThirdPerson\Maps」の「ThirdPersonMap」を開いてデフォルトのマップへ戻ります。

    下準備として、対象のスケルタルメッシュのCPUアクセスを許可(Allow  CPUAccessします。CPUアクセスを許可しない場合、発生させるパーティクルをメッシュ形状に構築することができません。

    「コンテンツ\Characters\Mannequins\Meshes」の「SKM_Quinn_Simple」を開いてLODピッカー→カスタムのチェックを入れ、各LOD(0~2)の「Allow CPUAccess」にチェックを入れましょう。

    メッシュをサンプリングするため、CPUでのアクセスを許可する必要がある

    ここからメッシュにエフェクトを適用する方法は、以下の3つに大別されます。

    • スケルタルメッシュのアセットを参照する方法(エディタのみ)
    • マップ上のスケルタルメッシュを含むアクタを参照する方法
    • 親コンポーネントとして参照する方法

    それぞれの方法で「コンテンツ\CharacterBodyFX\FX\Glitter」の「NS_Glitter」を適用する手順を、詳しく見ていきましょう。

    スケルタルメッシュのアセットを参照する方法(エディタのみ)

    まずは、コンテンツブラウザ上の「NS_Glitter」を、ドラッグ&ドロップでマップ上に配置しましょう。

    エフェクトをマップに配置することができました。

    この状態では、エフェクトは「SKM_Quinn_Simple」とは異なるメッシュをサンプリングしています。「SKM_Quinn_Simple」を参照するように変更しましょう。

    マップ上のNS_Glitterを選択した状態で「ユーザーパラメータ→SkeletalMesh→Preview Mesh」をクリックし、ドロップダウンメニューから「SKM_Quinn_Simple」を選択します。

    これで「SKM_Quinn_Simple」を参照できました。

    ただし、この方法はエディタ上でしか機能せず、プレイを開始するとエフェクトは消えてしまいます。あくまでプレビュー機能と考えましょう。

    マップ上のスケルタルメッシュ含むアクタを参照する方法

    次に、マップに配置したスケルタルメッシュを参照する方法です。先ほどマップに追加した「NS_Glitter」は引き続き使うので、消さずに残しておきます。

    参照先となるスケルタルメッシュがマップ上に必要なので、「Characters\Mannequins\Meshes」の「SKM_Quinn_Simple」をドラッグ&ドロップしましょう。

    NS_Glitter」を選択して「ユーザーパラメータ→SkeletalMesh→Source Actor」のスポイトツールをクリックし、そのまま「SKM_Quinn_Simple」にカーソルを合わせてクリックします。

    すると、メッシュにちょうど重なるような形で「NS_Glitter」のエフェクトが発生します。

    この方法は前の方法とは異なり、プレイ中にも適用されます。

    アニメーションしているスケルタルメッシュに対しても、同様にしてエフェクトを適用できる

    アタッチしたアクタを参照する方法

    最後に、アタッチしたアクタを参照する方法を説明します。プレイヤーキャラクターにエフェクトを適用する場合には、この方法が使われます。

    マップに追加した「SKM_Quinn_Simple」と「NS_Glitter」は必要ないため、削除しておきましょう。

    参照しているスケルタルメッシュを削除しようとするとこのようなメッセージが表示されるが、「はい」を選べば問題ない

    「コンテンツ\ThirdPerson\Blueprints」の「BP_ThirdPersonCharacter」を開きます。左上のコンポーネントタブの「追加」メニューから「Niagara Particle System Component」をクリックし、Niagaraのコンポーネントをアクタに追加します。

    BP_ThirdPersonCharacterは、サードパーソンテンプレートでプレイヤーキャラクターとして使用されるブループリント

    コンポーネントの名前は自由だが、今回はデフォルトのままとした

    追加したNiagaraコンポーネントを選択したまま、詳細パネルから「Niagara→Niagara System Asset」の「なし」をクリックし、ドロップダウンメニューから「NS_Glitter」を選択しましょう。

    以上でエフェクトの適用は完了です。プレイを開始して、エフェクトが正しく適用されているか確認しましょう。

    同じ方法で他のさまざまなスケルタルメッシュにもエフェクトを適用できます!最初の「Allow  CPUAccess」に関する手順は忘れやすいので、注意しましょう

    豆知識:メッシュを非表示にする方法

    メッシュを表示させず、エフェクトのみを表示させたい場合もあるでしょう。メッシュを非表示にするには、コンポーネントを選択し、詳細タブから「レンダリング→Hidden in Game」にチェックを入れます。

    ただ、そのままではエフェクトの参照するアニメーションが更新されません。

    メッシュコンポーネントのHidden in Gameをチェックする。これでメッシュを非表示にできるが……

    動画のようにメッシュのアニメーション更新が止まってしまう

    Hidden in Game」にチェックを入れた状態でメッシュのアニメーションを更新させるには、詳細パネルの「最適化→Visibility Based Anim Tick Option」を「Always Tick Pose and Refresh Bones」に変更します。

    エフェクトだけでなく、アタッチされたメッシュのみでキャラクターを表現したい場合などに使えるテクニックなので覚えておいて損はない

    エミッタでパーティクルをコントロールしてみよう

    次に、『Character Body FX Vol. 1』のエフェクトをカスタマイズしてみましょう。

    メッシュに基づいたパーティクルの発生は、Niagaraのかなり高度な機能にあたるため、カスタマイズには深い理解が必要です。一方で、パーティクルの色や形などは基本的な部分であり、容易に変更ができます。今回は、パーティクルの基本的な部分をカスタマイズします。

    「コンテンツ\CharacterBodyFX\FX\Fire」にある「NS_Body_Fire」をダブルクリックして編集画面を開きましょう。

    NS_Body_Fire」は、デモ動画やデモマップで最初に再生される、溶岩と炎のエフェクト

    NS_Body_Fire」は、Niagaraシステムという種類のアセット。編集画面では、確認用のエフェクトが表示されるプレビューが左上に、ノードエディタが中央に表示されます。

    ここで、Niagara主要な概念について、説明します。Niagaraの主な要素は、以下の4つです。

    1. システム
    2. エミッタ
    3. モジュール
    4. パラメータ

    現在編集しているNS_Body_Fireは、Niagaraシステムです。システムは複数のエミッタを管理し、エミッタはさらに複数のモジュールを管理します。

    パラメータもNiagaraにとって大きな要素。また、モジュールによってはシステムが管理する場合もある

    Niagaraシステムの編集画面では、各要素がノードやタブとして存在します。

    アセット自体(システム)のプロパティには、水色のノードからアクセスする。なお、モジュールはハイライトされているもの以外にも存在する

    英語で「放出するもの」という名の通り、エミッタパーティクルの発生源です。NS_Body_Fireのシステムには4つのエミッタがあり、それぞれ火花、そして溶岩のパーティクルを発生させています。

    エミッタモジュールには、有効・無効を切り替えるチェックボックスが名前の横に表示されます。

    試しに、各エミッタを有効化・無効化して、変化を見てみましょう。

    例えば、溶岩のエミッタを無効し、燃え盛る炎のエフェクトとして応用するアイデアが考えられる

    エミッタは別のシステムからコピー&ペースト可能。エミッタの組み合わせによって、簡単に多彩なエフェクトを作ることができます。

    NE_GlitterとNE_StickyNoteを組み合わせた例

    発展編:モジュールでパーティクルの色や形を変えよう

    パーティクルの発生数や色、形、動きなど、さらに具体的な構成要素は各モジュールが管理しています。例として、炎の色を変えてみましょう。

    NE_Flamesエミッタの「Initialize Particle」というモジュールをクリックすると、右側の選択内容タブにプロパティが表示されます。

    Color Modeがパーティクルの色を決定しています。例えば、R(赤)とB(青)の値を入れ替えてみると……

    赤い炎が青い炎へと変化します。火花のパーティクルの色も変更したい場合は、NE_Embersの「Initialize Particle」のColor Modeでも同様に、RとBを入れ替えましょう。

    同様に、パーティクル数のほか、レンダリングするスプライトやメッシュ、パーティクルにかかる物理的な力などがモジュールでコントロール可能です。詳しく知りたい場合は、公式ドキュメントをご覧ください。

    「Spawn Rate」でパーティクル数を、「~ Renderer」で生み出すパーティクル自体を変更できる

    モジュールが使いこなせるようになると、Niagaraで多彩なパーティクルエフェクト表現が生み出せます。エフェクトとアニメーション、サウンドなどを組み合わせ、クールなエフェクトを作りましょう!

    wvigler

    アンリアルエンジンにハマり、ぷちコンでゲーム作ってた男。映像編で2連覇したことも。
    昔はよくアーケードゲームとかやってました。
    一番やり込んだのは「ケツイ ~絆地獄たち~」「戦国BASARAX」あたり。ローグライトゲームとかも好きです。

    関連記事

    Epic Gamesの新マーケットプレイス「Fab」、12/3(火)までの期間限定で無料コンテンツを公開。スタイライズな動物のキャラクターアセットなど3製品
    2024.11.20
    UE公式の大型イベント「UNREAL FEST 2024 TOKYO」の講演アーカイブ動画・スライド資料が公開
    2024.11.15
    Unreal Engine 5.5がリリース。Selectノードなしで複雑な選択ロジックを作れる「Chooser」正式導入のほか、Navmesh間を橋渡しするNavLinkの自動生成機能が追加
    2024.11.13
    プレイヤーの動きによって波立つ水面をNiagaraで実装。ホラーゲーム『Still Wakes the Deep』開発者による水の表現手法を解説する記事が、UE公式ブログにて公開
    2024.11.11
    Epic Gamesの新マーケットプレイス「Fab」、11/19(火)までの期間限定で無料コンテンツを公開。軍用飛行場をイメージした環境アセットなど3製品
    2024.11.06
    「UNREAL FEST 2024 TOKYO」最速フォトレポート。約2,000人のUE5ユーザーが集ったリアル会場の雰囲気を写真でお届け
    2024.11.02

    注目記事ランキング

    2024.11.14 - 2024.11.21
    VIEW MORE

    連載・特集ピックアップ

    イベントカレンダー

    VIEW MORE

    今日の用語

    フォワードシェーディング(Forward Shading)
    フォワードシェーディング オブジェクト毎にライティングの計算を行い、その計算結果を描画するレンダリング手法。フォワードレンダリングともいう。ディファードシェーディング(Deferred Shading)に比べてポストプロセスの自由度は低いが、(何も物を配置しなかった際にかかる)最低限の描画コストが低く、アンチエイリアス処理などにおいてフォワードシェーディングの方が有効な分野も存在する。
    VIEW MORE

    Xで最新情報をチェック!