# [Solved] How to shoot an object in front of the player?

I’ve wrote a script for my firstperson game which parents a football in front of the player.

My aim is to shoot the ball in front of the player if i press the left Mousebutton and hold down the “W” Key.
Unfortunatelly i don’t know how to give the ball a force to shoot it in front of the player.
Would be nice if someone could help me to achive this!

I made a video about my Problem, maybe it helps to solve it:

Thanks in advance for any help!

Greetings

-Edd

Here is my Script which i have put to the football:

``````var thePlayer : CharacterController = GetComponent(CharacterController);
var ParentPart : Transform;	//An empty object which is parented in front of the player
var PickUpDistance : float = 2.4;
var canPickUp : boolean = false;
var parented : boolean = false;

function Update ()
{
//is the player near enough to the football to pick it up?
dist = Vector3.Distance(thePlayer.transform.position, transform.position);
if (dist <= PickUpDistance) {canPickUp = true;} else { canPickUp = false; }

//take the ball (parent it to the empty objekt which is parented to the player)
if(Input.GetButtonDown("Fire2") && canPickUp)
{
transform.parent = ParentPart;
parented = true;
}

//Shoot
if(Input.GetButtonDown("Fire1") && Input.GetKey(KeyCode.W) && parented)
{
parented = false;
transform.parent = null;
transform.rigidbody.constraints = RigidbodyConstraints.None;

}

//set the balls position to the position of the empty
if(parented)
{
transform.position = ParentPart.position;
transform.rigidbody.constraints = RigidbodyConstraints.FreezeAll;
}
}
``````

You can use the forward variable in the transform component to get the current direction the player is facing. You can then add vectors in a much more intuitive way.

``````transform.rigidbody.AddForce (thePlayer.velocity + thePlayer.transform.forward*100);
``````