大量の弾をアクターで再現しており、それらをprojectile movementで制御しています。
しかし、それらがスポーンすると、stat unitのgame項目が大きくなってしまいます。
調べてみたところ、それらのアクターのprojectile movementが原因のようです。
そこで、projectile movementの最適化、あるいは代替案をいただけないでしょうか。
何卒よろしくお願いいたします!!
大量の弾をアクターで再現しており、それらをprojectile movementで制御しています。
しかし、それらがスポーンすると、stat unitのgame項目が大きくなってしまいます。
調べてみたところ、それらのアクターのprojectile movementが原因のようです。
そこで、projectile movementの最適化、あるいは代替案をいただけないでしょうか。
何卒よろしくお願いいたします!!
用途に合うかどうかわかりませんが、Niagaraを使うというのはいかがでしょうか?
EPIC DEV COMMUNITYのLearningの下記が参考になると思われます。
(このLearningでは、他アクタとの衝突は扱っていないのですが、UE5攻略リンクさんの Niagara Collision あたりが参考になるかと…)
以下、私の環境で、ProjectileMovementとNiagaraで500個動かしてみた結果です。
500個のアクタをProjectileMovementで動かしてみた

500個Niagaraアクタで動かしてみた

また、ProjectileMovementの「コンポーネントティック」-「Tick Interval(secs)」を調整すると負荷は下がると思います…、その分、動きはカクカクするので、あまり実用的ではないと思いますが…
ありがとうございます!!
Niagaraで試してみましたが、どうしても衝突判定に甘さが目立ちました。
いかんせん、自分の使っているゲームの速度が速いもので、そのせいでNiagaraのコリジョンに悪さをしてしまっているようです。
他の方法を模索してみます。
1つのマネージャーActorで全ての弾の座標を計算する方法、「自作の弾管理マネージャー(ISM方式)」でうまくいきました。
• 仕組み:
1. 弾を Struct(構造体)として定義(座標、速度、寿命など)。
2. 1つのマネージャーActorが、TArray(配列)に入った全ての弾の座標を For Loop で一括更新する。
3. 見た目はNiagaraで描画。
4. 衝突判定は LineTrace(ライントレース)を自前で毎フレーム回す。