- Home /
Character acceleration problem [Closed]
Hi, I have a problem here, my character has a Character Controller, so it has his own gravity, and he runs at a speed of 17, but when I'm on the air, even if it's only 0.3 seconds, my character speeds up, and this only happens on the air and now that my character can sprint, he goes way too fast if I gets off the ground so I need to fix this, I've tried applying force so he can't get off the ground but since he has a Character Controller this isn't possible. Any way to fix this? If someone could help me I'll appreciate a lot!
EDIT: I just wanted to update this, I figured it out a very long time ago, I just used controller.Move instead of controller.SimpleMove, so I could apply force in the Y Axis as my own gravity, and it works just fine.
Answer by shobishow · Oct 25, 2012 at 06:34 AM
Check if the character controller is isGrounded
var charController:CharacterController;
function Start()
{
charController = GetComponent(CharacterController);
}
function Update()
{
if(robotController.isGrounded == true)
{
// get your speed 17
}
}
I all ready have that, if controller is grounded { if input.getkeydown("w") bla bla bla } but I can't put else { speed = 17 } because I also can move backwards and sideways, and the speed is different, for example, when you're moving backwards you walk, and the speed goes to 9 so if I do that then my other speeds will not be respected, any other ideas? Thanks:)
Your answer
Follow this Question
Related Questions
Multiple Cars not working 1 Answer
Unity 3.4.0 Running really slow 1 Answer
Character Controller Gravity 1 Answer
3rd person controller, jump Error 1 Answer
My character jumps occationally when against a wall? 2 Answers