- Home /
How to move an object a specific speed in km/h?
Hello!
I'm creating a game and I want to tweak the speed of the player to move about 6km/h, like in reality. I want to be able to input a number, like 6 (km/h), and the player should move 6000 (kilometers * 1000 = meters) "unity-units" (1 "unity-unit" = 1 meter) in one hour, but I don't really know how I can do that. For example, I guess I have to multiply the speed with Time.deltaTime
to get the correct time in seconds...
All help is greatly appreciated!
// TheDDestroyer12
Answer by Avash · Jan 11, 2015 at 12:03 PM
function Update()
{
transform.Translate(Vector3.forward * 100 / 3.6 * Time.deltaTime);
}
100 km/h
Answer by skylem · Jan 11, 2015 at 12:36 PM
You can use Vector3.Lerp to move an object from one transform.position to another, and u set the frames it does this over. u can also use Vector3.distance to get a distance between two transform.positions, You could use a GUI.Textfield using the text you input you can use it to int.TryParse which will attempt to convert the text into a number value, i recommend experimenting with all of these seperately to get an idea of how they could be used for what your trying to achieve. if you need use examples see the docs just google Unity Vector3.Lerp or if the Docs aren't helpful Email me at Skylem@live.com.au and i'll track down some examples for you.
Your answer
Follow this Question
Related Questions
Pushing rigidbodies around 1 Answer
rotation speed cap in 2D 0 Answers
Rotation used as movement 4 Answers
Increasing the speed of an object when the scale is decreased and vice versa 0 Answers