はじめに
Projecttileで攻撃があたらない状態になりました。
TopDown Engineを使用していて、はまった情報を残していきます。
※最新版では問題が解消されている可能性があります。
確認環境
Unity 2019.4.3f1
Projectile攻撃が当たらない
症状
プレイヤー、敵で同じ武器を使用し戦っていた際、しばらくすると攻撃が当たらない状態になりました。
原因
確認したところDamageOnTouch のIgnoredGameObjectsの登録が増え続けていました。IgnoredGameObjectsに登録されたオブジェクトは当たらないようになります。
※当たり判定のレイヤー設定は正しい設定でした。
ProjectileのOnEnableにて、InitialInvulnerabilityDurationの値が入っていないと初期化されないようになっています。InitialInvulnerability()の中でのみIgnoredGameObjectsがクリアされるようになっています。
※InitialInvulnerabilityDurationは「弾が破壊されるようになるまでの時間」です。
条件
確認した条件は3つです。
①プレイヤー、敵側で同じ武器を使用している。
②MMSimpleObjectPoolerを有効にしている。
③ProjectileのInitialInvulnerabilityDurationの設定が0になっている。
※SpaceCombatProjectileWeaponはProjectileWeaponを拡張したクラス
※HomingProjectileはProjectileWeaponを拡張したクラス
対応方法
ProjectileのInitialInvulnerabilityDurationの設定に0より大きい値をいれるです。
無事IgnoredGameObjectsの増加が止まりました。
おわりに
需要は少ないと思いますが、自身への備忘録として不具合情報も備忘録として残していきたいと思います。不具合解決の手がかりとなることがあれば幸いです。
ご確認頂きありがとう御座いました。