This week we make a turn towards the technical art aspect of the project. We talk with our Art Director Amilton Diesel.
Could you explain how rain works in the game and which are the main technical challenges for this effect?
Instead of particles, we opted for a distorted mesh with vertex displacement (1) and UV scroll (2). That gave us more flexibility to set the direction of the rain according to the car acceleration when it’s turning. As you can see in the picture, to avoid unnecessary waste of processing we limited the range of the effect only to the area that’s visible around the car.
The biggest challenge was to make the rain effect to match with the feeling of the speed. The rain couldn’t be static, neither move exactly at the same speed of the car, that will make it go artificially faster.
Is there any kind of optimization in the game effects or advice you could give other devs that could also be thinking
Good performance and constant frame rate are very important for racing games, mainly to preserve the inmersion and feeling of speed. There will always be many objects to render, but most of them will be far from the player, using LODs (3) is a good practice since there is no chance to use Occlusion Culling (4). The objects are rapidly passing through players eyes, that gives us the freedom to make simple and varied shapes, instead of very detailed and repetitive ones.
Vertex displacement: Resource that alters, geometrically, the position of two vertex in 3D space.
UV scroll: This technique consists in displacing the coordinates of a texture to give the illusion that it’s moving in the opposite direction.
LOD: Level Of Detail. The game object models change for simpler ones as they get more distant from the player.
Occlusion Culling: A tool that interrupts object processing when the visualization of an object is occluded by another.