Я на самом деле пытаюсь сделать своего рода 2d игру с единством, в этой игре мы управляем персонажем, который может стрелять пулями из оружия. На самом деле это «Узи», поэтому он стреляет очень быстро и сильно, (так что, из ружья) проблема в том, что иногда, в зависимости от расстояния до противника, пули проходят через ящичный коллайдер противника, и
так что не трогай это. Я думаю, что это связано с единой системой обновлений / исправлений, но я не уверен. и Пули уже находятся в состоянии обнаружения столкновений. Там есть часть кода и скриншоты.
void OnTriggerEnter2D(Collider2D target)
{
if (target.gameObject.tag == "FirePoint")
{
Fire();
}
if (target.gameObject.tag == "Building")
{
Destroy(gameObject);
//print("Don't shoot on the walls !");
}
Ennemy enemy = target.GetComponent<Ennemy>();
if (target.gameObject.tag == "Ennemi")
{
enemy.TakeDamage(damage);
Destroy(gameObject);
}
}
void Fire()
{
GetComponent<Rigidbody2D>().AddForce(transform.right * bulletForce);
}
и есть метод для стрельбы, в другом сценарии.
public void Shoot()
{
DispersionDesBalles();
nextFire = Time.time + 1f / fireRate;
Instantiate(Balle, spawnPoint.position, fireRotation);
ballesRestantes--;
}
и скриншоты с ошибкой Здесь
Красный прямоугольник - это враги, а маленькие зеленые вещи - пули, не обращайте внимания на графику: D, Это просто для тестирования. Это довольно раздражает, потому что в игре пули меньше разнесены, но это равносильно тому же.
Я надеюсь, что кто-то может мне помочь. хорошего дня!