エフェクトアセット『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」あたり。ローグライトゲームとかも好きです。

    関連記事

    UE5で揺れ物を「かわいく」揺らすプラグイン「Kawaii Physics」が更新。髪が風になびく複雑な動きもパラメータ設定で手軽に制御
    2024.07.25
    Unreal Engine向けゲーム制作コンテスト「第22回UE5ぷちコン」開始!テーマは「ゆうえんち」。応募締切は9/8(日)
    2024.07.22
    Unreal Engine 5.4.3がリリース。Mac向けにパッケージ化する際に起こるエラーの修正や、BaseDeviceProfiles.iniの2024年発売のiPadへの対応など
    2024.07.17
    50代からゲーム開発を始めた第21回UE5ぷちコン最優秀賞作『ヘコむス』開発者インタビュー。約40年前の「床をヘコませてボールを転がす」アイデアをUEで実現!
    2024.07.16
    エピック ゲームズ ジャパンによる講演も行われた「第2回 Unreal Engine KYUSHU LT会 in 鹿児島」、アーカイブ動画および一部のスライド資料が公開
    2024.07.11
    ゲーム開発者必見のカンファレンス10選【GDC・CEDEC・Unreal Fest・U/Dayなど】
    2024.07.11

    注目記事ランキング

    2024.07.20 - 2024.07.27
    VIEW MORE

    連載・特集ピックアップ

    イベントカレンダー

    VIEW MORE

    今日の用語

    フォグ(Fog)
    フォグ 「霧」を意味する英単語。3DCGにおいて、現実の霧による見た目をシミュレーションする画面効果やエフェクトを指す。代表的なものとして、カメラから遠くにあるオブジェクトの色調を変化させることで遠近感を出す手法がある。
    VIEW MORE

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