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;
transform.rigidbody.AddForce (thePlayer.velocity.x,thePlayer.velocity.y,(thePlayer.velocity.z+100));
}
//set the balls position to the position of the empty
if(parented)
{
transform.position = ParentPart.position;
transform.rigidbody.constraints = RigidbodyConstraints.FreezeAll;
}
}