Hi, I’m creating a game with a ball and now what I want to do is to make it stop bouncing after few bounces. But now when my ball jumps and touches the terrain, it totally stops and speed is 0 at all directions.
My script
var jumpforse :float;
var CanJump = true;
var fallforse : float;
function Update () {
if(Input.GetKey(KeyCode.W)) {
rigidbody.AddForce (Vector3.forward * forse);
}
if(Input.GetKey (KeyCode.S)) {
rigidbody.AddForce (Vector3.back * forse);
}
if(Input.GetKey (KeyCode.A)) {
rigidbody.AddForce (Vector3.left * forse);
}
if(Input.GetKey (KeyCode.D)) {
rigidbody.AddForce (Vector3.right * forse);
}
if(rigidbody.velocity.magnitude > maxSpeed){
rigidbody.velocity = rigidbody.velocity.normalized * maxSpeed;
}
if(Input.GetButtonDown ("Jump"))
{
if(CanJump == true) {
rigidbody.AddForce (Vector3.up * jumpforse);
}
}
}
function OnCollisionExit(collision : Collision){
if (collision.gameObject.name == "Terrain"){
CanJump = false;
audio.Play ();
}
}
function OnCollisionEnter(collision : Collision){
if (collision.gameObject.name == "Terrain"){
rigidbody.velocity = Vector3.up / fallforse;
}
}