Снаряды моей игры слишком быстрые;некоторые пули проходят через коллайдер.
Я сделал RayCast
луч, чтобы обнаружить коллайдеры, и он работает.У меня возникли проблемы при попытке сделать RayCast2D
, чтобы уничтожить пулю при попадании в коллайдер.
if (Input.GetButtonDown("Fire1") && Time.time > nextfire)
{
nextfire = Time.time + firerate;
anim.SetTrigger("Shoot");
GameObject tempBullet = Instantiate(bulletPrefab, shotSpawner.position,
shotSpawner.rotation);
RaycastHit2D hit = Physics2D.Raycast(shotSpawner.position, shotSpawner.right);
Debug.DrawLine(transform.position, transform.right * 300f, Color.cyan);
if (hit.collider.tag != null)
{
nextfire = Time.time;
print(hit.collider.name);
}
else
{
print(hit.collider.name);
}
}