🎈

【UEFN】NiagaraでプレイヤーにVFXを追従させる際の傾き問題と解決策

2024/10/14に公開

はじめに

UEFNでは、Niagaraで作成したエフェクトをVFXパワーアップデバイスでプレイヤーにアタッチさせることができます。

しかし、プレイヤーに追従するVFXの中には、プレイヤーの姿勢や動きに影響されずに一定の向きや形状を保ちたいものがあります。

今回は、NiagaraのメッシュレンダラーでVFXを作成し、プレイヤーに追従させながらも独立した動きを維持する方法を共有したいと思います。

以下の内容は5.5Verに基づいています。
解説などで誤った情報がある場合があります。
その際はご連絡いただけるとありがたいです!

問題の説明

プレイヤーに追従させるエフェクトのため、PropertiesのLocal SpaceにチェックをしてVFXを作成します。

例は、わかりやすいようにSphereに加えてDiskのメッシュをつけてみました。
https://youtu.be/jQDCkL70MOc

それをプレイヤーキャラクターに追従させると、次のような問題が発生しました:

  1. プレイヤーが傾くとVFXも一緒に傾く。
  2. VFXに適用されているマテリアルの動きも不自然に見える。

解決策:メッシュレンダラーの設定調整

問題を解決するには、VFXのローカル座標系をプレイヤーの傾きから独立させる(World座標に準拠させる)ために、メッシュレンダラーの設定を調整する必要があります。

1 Locked Axis Enable

Locked Axis Enableにチェックをいれる。
これにより、VFXの特定の軸をロックします。

2 Locked Axis Space

Worldに設定。
これにより、ロックされた軸はワールド座標系が基準になります。

3 Facing Mode

デフォルト以外の設定を選ぶ。
Facing Modeは、メッシュがどの方向を向くかを制御する設定です。
デフォルト以外の設定を選ぶことで、プレイヤーの動きから独立してVFXの向きを制御できます。

  • Velocity: パーティクルの速度方向に向きを合わせる
  • Camera Position: 常にカメラの方向をむく
  • Camera Plane: カメラの平面に合わせてメッシュを配置

どの設定を選ぶかは、VFXの用途に合わせてください。

適用結果

https://youtu.be/69aZp7o-PoM

動画は、上記の設定を適用した後のVFXの挙動です。
VFXの座標系がWorld座標に準拠したことで、不自然な傾きが解消されました!

まとめ

今回紹介したNiagaraのメッシュレンダラーの設定は、プレイヤーに追従しつつも、プレイヤーの姿勢や動きに影響されずに一定の向きや形状を保つ必要があるVFXを自然に見せるために使える設定です。
(例えば、オーラやエネルギーフィールドのような、プレイヤーを囲む効果など。)

最後までお読みいただきありがとうございます!

今回使ったmaterial

参考になるサイト

https://youtu.be/tE5Q6GrwIlw?si=2TrMgGc1SgZFU_Gk

Cre8tfun 技術ブログ

Discussion