バーチャルライブ映像を作るときに、ペンライトを振った観客がいると、見た目が豪華になりませんか?


ずっと作りたかった表現
今回使用したverは下記の通りです
Blender4.1
UE5.2
ここまで本記事を読んで、そもそもNiagaraがわからず涙がこみあげてくる人は、基本操作に関する記事を読むことをおススメします


UEでペンライト単体を振るメッシュを作成
前提:ペンライトのデザインはBlenderでよしなに作成
当記事はUE専門の記事で、Blenderまでに手を広げると記事が散らかるので省略します
ここでの大事なことは、Blenderで作成したモデルになんでもいいのでマテリアルを割り当てておく事です
UEに読み込んだ時にペンライトを光らせることが出来なくなってしまうからです
今回はUEでペンライトを振るアニメーションを作成しましたが、余力がある人はBlenderでアニメーションを付けてチャレンジしてみてくださいね
私が参考にした動画は👇です
作ったペンライトはBlenderからFBXファイルにして出力し、UEに読み込みます
👇記事は、BlenderでFBXを出力&UEで読み込みする時の手順を書いたものですので参考までに
アニメーションの設定を外せば、静止FBXも対応できると思います


UEで前後に動くマテリアルを作成


ペンライトに貼り付けるマテリアルも作成していきます




マテリアルの全体図は下記の通りとなります


- メインマテリアルノードのマテリアル設定
MaterialDomain:Surface
BlendMode:不透明型
ShadingModel:DefaultLit - エミッシブカラーから接続されているノードが、ペンライトの発光部分の設定
色替え:エミッシブカラ⇒MultiplyA⇒Constant3Vectorの数値
グローの強さ:エミッシブカラ⇒MultiplyB⇒Constantの数値 - ワールド位置オフセットから接続されているノードが、前後に動くアニメーション
回転角度と幅:ワールド位置オフセット⇒RotateAboutAxius[NormalizeRotationAxis]⇒Constant3Vector
※今回は前後に動かしたいのでX位置=1
速度:ワールド位置オフセット⇒RotateAboutAxius[RotationAngle]⇒substractA⇒rangeの数値
※下記でもコントロール可能
RotateAboutAxius[RotationAngle]⇒substractB⇒MulitiplyB⇒Abs⇒Sustruct⇒Fmod⇒Divide⇒Mlitiply⇒scalarparameterの数値
回転幅:ワールド位置オフセット⇒RotateAboutAxius[RotationAngle]⇒substractB⇒MulitiplyB⇒Abs⇒Substructの数値
※今回は前に振って戻りたいので0.5にしました
こちらのペンライトの発光部分のマテリアルが作れたら、発光部分のマテリアルを複製して取っ手部分のマテリアルを作ります
とはいえ、エミッシブカラー~のノードを削除しただけです
今回は取っ手のシルエットが見えれば十分でしたので、質感・色はありません。黒い見た目になっております


UEに読み込んだペンライト(スタティックメッシュ)に、作成したマテリアルを割り当てる
UEに読み込んだペンライトのスタティックメッシュを開いてエディターを表示⇒マテリアルスロットで上述で作成したマテリアルを、それぞれペンライト部分と取っ手部分へ割り当てます
マテリアルスロットが1つしかなければ[+]で追加していってください


Niagaraでペンライトを散らす方法


コンテンツブラウザ内右クリック⇒FX⇒Niagaraシステム⇒空のシステムを作成
空のシステムを作成をすると、Niagaraの編集パネルが開かれます


システムの概要パネル右クリック⇒エミッタを追加⇒empty選択






システムの概要パネル右クリックをした時の[空のエミッタを追加]を選択しないようご注意ください。別物です
この項目でパーティクルの形状をペンライトに設定します
SpriteRendererを削除⇒+よりMeshRenderer選択⇒[選択内容]Meshesインデックス⇒ペンライトのスタティックメッシュを割り当てる




この項目で、ペンライトの数を設定します
エミッターの更新+⇒SpawnParticleInGrid⇒問題を修正⇒SpawnRateの数値入力
SpawnParticleInGrid:パーティクルを規則的なグリッド状に生成するための機能です
規則的な座席に観客が存在するかのように、ペンライトを散らす事が出来ます




パーティクルのスポーンモジュール⇒GridLocation⇒Dimensions⇒XYZDimensionsの数値




パーティクルのスポーンモジュール⇒IntializeParticle⇒MeshAttributes⇒MeshScaleMode[Uniform]⇒MeshUniformScale数値入力




Emptyエミッターにパラメータを追加します
パラメータパネル⇒パーティクル属性⇒MeshIndex⇒パーティクルのスポーンモジュールにD&D




追加したパラメータ[MeshIndex]をペンライトの種類の数を設定していきます
MeshIndexの逆▼[RandomRangeInt]⇒Maximamペンライトの種類の数入力


今回は6種のペンライトを作ったので6と入力しました
完成したNiagaraシステムを、会場マップの観客席エリアに配置してみてください!


参考文献



いつもありがとうございます!


コメント