What is more efficient for setting up car models for racing games?

There’s two methods I’m debating for setting up a car - specifically to get it to run fast on mobiles and desktop.

• Set the car up with separate meshes, eg (car wheels, car body, moving suspension parts, etc)


• Combine the wheels and moving parts into one skinned mesh that will supposedly only give one draw call because it’s one mesh, right? And you can make the wheels and moving parts as bones that can be moved using a script - and this will all magically happen in your graphics card to make it faster. Is my thinking wrong?

So, theoretically, everyone should be using skinned meshes for the cars in their racing games… not separate meshes?

You can get one draw call even with more than one mesh, and you can have more than one draw call with only one mesh.

The important thing for reducing draw calls is using the same material for as much objects as you can. If you manage to make one material that works for the wheels and the body you’ll need only one draw call.

It also depends on the shader. That doesn’t happen with standard shaders, but some custom shaders require more than one draw call.

Anyway, correctly setting up car physics is not trivial, even with the WheelCollider included in Unity, so I’d follow the docs (this, and THIS(*)) and see if it need optimization later. If your car physics and rendering is in fact the bottleneck once you profiled, you can probably optimize with a less detailed mesh or with smaller textures, but you’ll probably found that the track itself is what should be optimized (doing Occlusion Culling, for example).

(*) Note the uppercase, you’ll need that more than the official WheelCollider tutorial.