Using AddForce with a more specific rotation

Having some trouble getting a projectile to hit a target with Add Force Transform.Forward…
It’s traveling at the target but passing by too high on the y axis. What would the easiest way be to have the bullet travel at the target with more accuracy?

For now I’m just rotating toward the target and then using Add Force forward.

var rotation = Quaternion.LookRotation(targetTransform.position - transform.position);  transform.rotation = Quaternion.Slerp(transform.rotation, rotation, rotationSpeed);
Rigidbody.AddForce(transform.forward * 120, ForceMode.Impulse);

You could also try to modify the velocity of the Rigidbody:

    Vector3 direction = (targetTransform.position - rb.transform.position).normalized;
    float initialVelocity = 10;
    rb.velocity = direction*initialVelocity;

This should be applied only one time in the FixedUpdate. Then, the Rigidbody will move towards the target. But, obviously, gravity or other forces will modify the trajectory.

No need to mess with velocity. Everything is good accept the rotational vector the projectile travels on. It’s not accurate enough. It works fine on a sphere drone but on a humanoid with laser rifle at waist, it misses the target by passing above. The humanoid has a rigid body and x, y, z rotations locked to prevent funky physics. Just need a good way to ensure he’s aiming exactly at the target before Add Force Forward in applied.