PDA

View Full Version : Car Steering?



royster
05-28-2001, 08:41 AM
Has anyone a quick solution to get a car to steer correctly.

I know you can work the angle you have to steer by using the following:

turning radius = Length of Car/(Tan a)
a = Steering angle

I am having problems implementing this though. After performing this I would not know the correct x,z position of my car so I can update it the next frame.
Anyone have any ideas?

Thanks for any suggestions.

05-28-2001, 10:42 AM
Why not use a constant frame rate and turn the car a small angle each frame?

delsydsoft
05-30-2001, 08:27 AM
Visit nehe.gamedev.net and grab the 3d world OpenGL tutorial(the one that loads a simple level and lets you walk through it).You can take the first-person camera code from that tutorial,and apply it to your car's coordinates.If you tweak the controls a bit,you can get convincing movement out of this trick.Just a thought.

royster
05-30-2001, 09:24 AM
Thanks for that suggestion, I tried what you suggested and yes its does work but I have found another solution which means taking the current Matrix at the end of my Car routine and loading it at the beginning of the routine again.
I know this is supposedly a bad thing as it is suppose to be slow but I have used my frames per second routine to check this and it was not affected at all.
I may fall back on that though later if something strange happens.

I don't suppose anyone knows anyway of loading more than 1 3d exploration file at once do they?
It looks as though I am going to have to learn how to write a parser.

05-30-2001, 11:03 AM
What do you mean by loading more than 1 3d exploration files at once? If you need to have many 3d objects in your scene, use display lists to keep your 3d (exported in cpp) objects in memory.

royster
05-30-2001, 01:19 PM
When you save files in 3D Exploration it makes a Display Lists with lots of structs and functions.

Say for example in my case I want to load the car shell and the wheels as seperate display lists I have to save 2 files.
These files will have the same structs and functions in them as the other object but the vertices,normals and texture information will be different. I have changed the names of the functions and this works but it is a lot of work just to add another object.
I think the only way around this is to write a set of routines to load just the Data file 3D Exploration creates and use just the functions from the Display List save to build the display list.

RCMaster
06-14-2001, 11:00 AM
I think the right formula is :

(turning radius ) = ( length between front whells and rear ones ) / sin (steering angle)

Please note that the turn radius is bigger for the front wheels.
Moreover, the turn radius is bigger for the left wheels as the car heads right...

If you want a realistic car handling ...

Cheers.