AddForce in specific Direction (Touch)

Hi,
Imagine a Goal and your Player is in Front of it with a Ball on the Z-Axis in a 3D World. And now you can Touch for example in the left down corner of the Goal and the Player shoots the Ball there where you touched it. I tried it with AddForce an ScreenToWorldPoint, but the Ball is just flying towards the Z-Axis and X-Axis. But my Goal is that the Ball flies from it’s origin Position to the touched Position in WorldSpace. What is the best way to solve this Problem?

just an example based off what @Qasem2014 said:

ball script.

var hitpoint :Vector3;
var power :float;//ajust to get ball to hit the right position
function Update ()
{
	if ( Input.GetMouseButtonDown(0))
	{
		var hit : RaycastHit;
		var ray : Ray = Camera.main.ScreenPointToRay (Input.mousePosition);
		if (Physics.Raycast (ray, hit, 100.0))
		{
			transform.LookAt(hit.point);
			rigidBody.AddRelativeForce(0,0,hit.distance*power);
		}
	}
}

I hope this helps! If this does please dont forget to like Qasem2014s original comment.

Hey Qasem2014 and Maurice,
i did it with the LookAt and the relativeForce and it’s working as i was looking for =). Here’s my code:

void Shoot ()
		{
				if (keeper.IsEndboss) {

						if (Input.GetMouseButtonUp (0)) {
								ball.Have = false;
								ray = Camera.main.ScreenPointToRay (Input.mousePosition);
								if (Physics.Raycast (ray, out hit)) {
										ball.transform.LookAt (hit.point);
										ball.rigidbody.AddRelativeForce (Vector3.forward * 1000);
								}
						}
				}
		}