- Home /
Slowing player speed when in air
Hello all;
I am currently moving my player (a Ball) with Force, however when in the air I realise that the Ball is no longer being slowed down by the friction below it, which means the speed of the ball is greatly increased while jumping, I would actually like the player to move slower while in the air.
I have tried many IF statements, but this one has stumped me.
Code:
function Update(){
var hit : RaycastHit;
if (Physics.Raycast (transform.position, Vector3.down, hit, 2.5)) {
if (isFalling==false && Input.GetButtonDown("Jump")){
rigidbody.velocity.y += jumpSpeed;
}
}
}
function FixedUpdate(){
if(Input.GetKey ("right")) {
rigidbody.AddForce (cameraRelativeRight * Speed * Time.deltaTime);
}
if(Input.GetKey ("left")) {
rigidbody.AddForce (cameraRelativeLeft * Speed * Time.deltaTime);
}
}
function Jump (){
if (Input.GetButtonDown("Jump") && isFalling==false){ // only jump from the ground
jumped = true;
var hitt : RaycastHit;
rigidbody.AddForce.y (jumpSpeed * Time.deltaTime);
}
}
Any ideas would be greatly appreciated, thank you.
Answer by Saturnix · Dec 09, 2012 at 12:58 AM
Very simple. Just divide your speed variable by any factor that you like (2, 3 or 4) whenever the ball is not colliding with anything.
OnCollisionEnter > colliding = true; OnCollisionExit > colliding = false;
FixedUpdate > if (!colliding) speed = speed/any_number
edit:
how do you set "isFalling"? You should change that with "isColliding". If your sphere is colliding with something (most likely, the ground: but may be everything) it can jump and increase speed.
I would also recommend to limit the speed: rigidbody.velocity may get out of hands really quickly. If the user keep pressing "right" or "left" your sphere will be really fast and it will conserve all of the energy even while traveling in the air.
Your answer
![](https://koobas.hobune.stream/wayback/20220613085146im_/https://answers.unity.com/themes/thub/images/avi.jpg)
Follow this Question
Related Questions
Why my variable istn't always used? 2 Answers
Mulltiple jumps 1 Answer
Jumping while moving 1 Answer
Jump Further When Key Is Held Down 1 Answer
Mecanim tutorial issue with jump 2 Answers