- Home /
How to incorporate Time.deltaTime into existing script
In another question somebody suggested I use Time.deltaTime to help smooth out the movement of an object. However the script itself works fine and does what I need it to do.
I kind of understand how/why Time.deltaTime would be beneficial but not how to change the existing script to use it (or even if it really needs to be changed)
void FixedUpdate ()
{
float moveHorizontal = Input.GetAxis ("Horizontal");
Vector3 movement = new Vector3 (moveHorizontal, 0.0f, 0);
GetComponent<Rigidbody>().velocity = movement * speed;
GetComponent<Rigidbody>().position = new Vector3(Mathf.Clamp (GetComponent<Rigidbody>().position.x, Min, Max), transform.position.y, transform.position.z);
}
Is Time.deltaTime going to be beneficial here and if so how would I incorporate it into the script
???
Time.deltaTime, makes the movement framerate independent(as I am sure you know), but using rigidbody.velocity already does this(I don't think AddForce does this however). So just continue using your script, and you should be fine. Also you can find more info here: http://docs.unity3d.com/ScriptReference/Rigidbody.html
and i quote:
In a script, the FixedUpdate function is recommended as the place to apply forces and change Rigidbody settings (as opposed to Update, which is used for most other frame update tasks). The reason for this is that physics updates are carried out in measured time steps that don't coincide with the frame update. FixedUpdate is called immediately before each physics update and so any changes made there will be processed directly.
Answer by CaptainKirby · Mar 28, 2015 at 04:46 PM
That was meant to be an answer, woops.
Your answer
Follow this Question
Related Questions
Smooth movement over seem? 0 Answers
How to smoothen movement of a child object? 1 Answer
How can i drag objects smoothly with touch? Please help me with this code! 1 Answer
A bit shaky when translating 1 Answer
2D smooth top-down movement 1 Answer