Why my shooting script make the bullet fall down rather straight to the target?

The bullet wasn’t moving forward (that sprite was used to debug?). This script is what I use to make this function:

using UnityEngine;
using UnityEngine.EventSystems;
public class Shooting : MonoBehaviour 
{
public float bulletSpeed = 10f;
public int damage = 40;
public Rigidbody bullet;
public Transform firePoint;

public void Fire()
{
Rigidbody bulletClone = (Rigidbody) Instantiate(bullet, transform.position,transform.rotation);
bulletClone.velocity = transform.TransformDirection(new Vector3(0, 0,bulletSpeed));

}
void Update () 
{
if (Input.GetButtonDown("Fire1"))
Fire();
}
}```

![5011997--490331--upload_2019-9-29_18-54-39.png|684x511](upload://pFWyj3hvNn3vyY5k8lBwgSAh5yE.png)

The reference image. I forgot to attach to the main post, sorry.

Your bullet has a rigidbody attached. It falls because of gravity. Try to freeze the Y axis of the rigidbody in the inspector.

5012141--490382--Inspector-Rigidbody.png

Oh, I’ll try that. Thanks.

(Edit: It’s works but now my bullet are going in different direction after being shot.)

Now, I got a problem where the bullet wasn’t disappear from the scene. They are multiplying each time I press shoot and it’s taking my resources.