- Home /
 
Jumping Stopped Working.
Hello, I edited the CharacterController.Move script, and now it won't jump, I don't know what I need to do to get it to work. Here's my current Script:
 var speed : float = 12.0;
 var jumpSpeed : float = 8.0;
 var gravity : float = 20.0;
 var RotateSpeed : float = 3.0;
 var SprintSpeed = 20;
 var Sprinting : boolean = false;
 private var moveDirection : Vector3 = Vector3.zero;
 
 function Update() {
 var controller : CharacterController = GetComponent(CharacterController);
 if (controller.isGrounded) {
 
 if (Input.GetButton ("Jump")) {
 moveDirection.y = jumpSpeed;
 }
 
 moveDirection = Vector3(0, 0,Input.GetAxis("Vertical"));
 //Rotate
 transform.Rotate(0,Input.GetAxis("Horizontal") * RotateSpeed, 0);
 moveDirection = transform.TransformDirection(moveDirection);
 moveDirection *= speed;
 
 if(Input.GetKey("up")){
 if(Input.GetKey(KeyCode.LeftShift)){
 transform.Translate(Vector3.forward * SprintSpeed * Time.smoothDeltaTime);
 Sprinting = true;
 }
 }
 }
 // Apply gravity
 moveDirection.y -= gravity * Time.smoothDeltaTime;
 
 // Move the controller
 controller.Move(moveDirection * Time.smoothDeltaTime);
 
 if(Sprinting){
 SprintingFunc();
 }
 
 }
 
 function SprintingFunc(){
 BreathDeduct();
 }
 
 function BreathDeduct(){
 //Take away some breath
 }
 
               Thanks in advance for any help! :)
Answer by HunterKrech · Apr 06, 2013 at 06:38 AM
Did you change input settings for "Jump" button?
Edit->Project Settings->Input
Answer by Gurc · Apr 06, 2013 at 07:20 AM
You assign a new vector to movedirection, overwrite jump decision
 moveDirection = Vector3(0, 0,Input.GetAxis("Vertical"));
 
               it should be
 moveDirection += Vector3(0, 0,Input.GetAxis("Vertical"));
 
               Edit: You should check is your character is grounded. http://docs.unity3d.com/Documentation/ScriptReference/CharacterController-isGrounded.html
 if(CharacterController.IsGrounded)
 {
 moveDirection += Vector3(0, 0,Input.GetAxis("Vertical"));
 }
 
              When I add this the player goes crazy, is that gravity meant to be different to 1000?
Your answer
 
             Follow this Question
Related Questions
Getting this character controll script working right 1 Answer
Character controller/gravity reverse/jump reverse/constantly running 0 Answers
why does character controller accelerate off ledges? 1 Answer
Why does my characterController code not apply gravity correctly? 0 Answers
Anti-Gravity isn't working 1 Answer