Hi All!
I’ve making an FPS Game and i have a charachter controller width attached a spawn object with attached the script for shooting.
if (curWeapon == "Sniper") {
if (Input.GetButtonDown ("Fire1")) {
Ray ray = cam.ScreenPointToRay (new Vector3 (Screen.width / 2, Screen.height / 2, 0));
RaycastHit hit = new RaycastHit ();
if (Physics.Raycast (ray, out hit)) {
Debug.Log ("Ray");
Debug.DrawLine (transform.position, hit.point, Color.red);
Debug.Log (hit.point);
Rigidbody instantiatedProjectile = Instantiate (projectile, transform.position, transform.rotation) as Rigidbody;
instantiatedProjectile.velocity = (hit.point - transform.position).normalized * 20;
instantiatedProjectile.rotation = Quaternion.LookRotation (instantiatedProjectile.velocity);
}
}
}
Attached to the projectile prefab i have this script:
public class BulletCollision : MonoBehaviour {
void OnCollisionEnter (Collision col)
{
Debug.Log ("Destroy");
Destroy (this.gameObject, 0.0f);
}
}
The problem is that the collision is detected but the projectile don’t destroy…
The setting of the scene is:
- Walls with mesh Collider
- prefabs with rigidbody and sphere collider and the above script
- spawn object with shooting script
Why the projectile pass through walls even if collisionenter is setted?
Thanks in advance.