RE: [Algorithms] speed calculations!
Brought to you by:
vexxed72
From: Martin F. <mf...@ac...> - 2001-03-27 17:56:36
|
Work out exactly how far 1 world unit is in your 'universe'. In your case 25 meters == 1 unit in world space. (Which IMHO is quite large) Assuming 1 second in your game is 1 second of realtime (always useful but not always true, bullet time etc..) You'll most likely need a frame compensation value, very few games / graphics apps get away without one. At 60fps with a movement rate of 1unit per second you want to move 1 / 60 of a unit per frame. Of course the framerate usually varies, particularly on a PC if you opt not to wait on the vertical sync. The higher precision timer you can lay your hands on the better, So in general Position = Direction * Speed * FrameCompensation; You want your car to travel at 50km/h, Convert to world units. That's 50,000 / 25 = 2,000 world units per hour Convert to movement per second 2000 / (60 * 60) = 0.5555556 world units per second. Multiply this by your frame compensation (1 / 60 whatever) and with the correct scale of car mesh it should look like you're doing 50km/h. I would suggest if I may that while you terrain is huge the resolution is very low, in order to get a good sensation of speed you need detail, geometric and or texture. Hope this is of help, Cheers, Martin -----Original Message----- From: vic [mailto:lo...@cl...] Sent: 27 March 2001 17:16 To: gda...@li... Subject: [Algorithms] speed calculations! Hi, Here's something i've been wondering for sometime.. How can i make a model move on a world with the speed i want? (in kilometers) currently i have a heightmap of size 256x256 i scale the map with the given value (eg. 25 meters per grid unit) int index=0; for(j=0; j<height; j++) { for(i=0; i<width; i++) { vertices[index].x = i * stepSize; vertices[index].y = terrain_heights[index] * heightScale; vertices[index].z = j * stepSize; index++; } } This is how i scale the map. uhm...i wonder... if i want to move a car over the map with a speed of 50km/h, how do i do it? saying that each unit (pixel) is one meter scaled by 25, means each unit is now 25 meters, means: 256*25 = size of the world in meters, correct? Anyway, back to the original question.. How can i control the velocity of a player over the map, taking in account the "real" size of the world (in this case 6.400 meters = 6.4km^2 map)? Cheers, Vic |