- Home /
How do i make my Sprint increase slowly?
so i have this code and ive tryed co-routines but they dont work and it just bugs up, and ive tryed changing the speed by Time.deltaTime, but that doesnt work, any ideas on how to make my player slowly start to sprint?
var walkSpeed: float = 7; // regular speed
var runSpeed: float = 20; // run speed
private var chMotor: CharacterMotor;
private var ch: CharacterController;
private var tr: Transform;
private var height: float; // initial height
function Start(){
chMotor = GetComponent(CharacterMotor);
tr = transform;
ch = GetComponent(CharacterController);
}
function Update(){
var h = height;
var speed = walkSpeed;
if (ch.isGrounded && Input.GetKey("left shift") || Input.GetKey("right shift") && speed < runSpeed){
speed = runSpeed;
chMotor.movement.maxForwardSpeed = speed;
}
chMotor.movement.maxForwardSpeed = speed; // set max speed
}
Answer by aaronov · May 24, 2013 at 02:03 AM
You could try using linear interpolation to smooth out the increase of speed over time. Eg.
chMotor.movement.maxForwardSpeed = Mathf.Lerp(oldMaxSpeed, newMaxSpeed, Time.time)
im unsure on how mathf or lerp means, could you add it to my script and give exsamples, explanations? thanks if you can, (you dont have to)
The documentation provides sufficient information on what Lerp is and how it can be used.
Possibly a better alternative is $$anonymous$$athf.SmoothDamp
it just seems to be going the same speed, i want to to fade into the max speed in say 4 secs i know it has somthing to do with the Time.time right?
Using the alternative function I mentioned maybe something like this:
var current$$anonymous$$axSpeed : float = ch$$anonymous$$otor.movement.maxForwardSpeed;
var targetSpeed : float = speed;
var velocity = 0.0;
var smoothTime = 4;
var new$$anonymous$$axSpeed : float = $$anonymous$$athf.SmoothDamp(current$$anonymous$$axSpeed, targetSpeed, velocity, smoothTime);
ch$$anonymous$$otor.movement.maxForwardSpeed = new$$anonymous$$axSpeed;
i think im just retarded or something, im sure your code works, i just cant get it to :(, i hate codeing >.<
Your answer
Follow this Question
Related Questions
Energy Pickup 1 Answer
How do I make my player face the direction its moving 1 Answer
how can I present a choice under function OnNetworkLoadedLevel 2 Answers
Physics Based Sprint and Jump? 2 Answers
I am making a Call of Duty type game, how can I make the people settings just like call of duty? 2 Answers