Question by
eerosor · Aug 07, 2020 at 08:25 AM ·
accelerationdeltatime
Acceleration based on deltaTime remembers the last speed before hopping off.
I have a boat which uses deltaTime on steering and movement. It works just fine but If I hop off the boat and hop back in, it immediately accelerates by the same speed it was going before hopping off. The script remembers the deltaTime from the earlier driving session. How to reset the speed when hopping off?
void FixedUpdate() {
Balance();
Movement();
Steer();
}
void Movement()
{
_verticalInput = Input.GetAxis("Vertical");
_movementFactor = Mathf.Lerp(_movementFactor, _verticalInput, Time.deltaTime / movementThreshold);
transform.Translate(_movementFactor*speed,0.0f,0.0f);
}
void Steer()
{
_horizontalInput = Input.GetAxis("Horizontal");
_steerFactor = Mathf.Lerp(_steerFactor, _horizontalInput, Time.deltaTime / movementThreshold);
transform.Rotate(0.0f, _steerFactor*steerSpeed, 0.0f);
}
The script gets disabled when hop off, so I have tried some OnEnable things but havent figured it out.
Comment
Your answer
Follow this Question
Related Questions
Player object accelerates??? C# Unity2D 0 Answers
Getting the net-force vector on a rigidbody 0 Answers
2D: Why does my character stutter if I add deltaTime to moveSpeed? 1 Answer
Accelerate 1 Answer