Today i will speak about a different use of VFX; mesh spawning particles to make your static background levels a bit more dynamic by easy moving objects that won't impact too much your performances!
First a little word about the game; HackJack, robot detective is a VR detective game base in a jazzy "film noir" city, where you will help a bunch of cute but fairly incompetents police bots!
Mesh particles don’t necessarily need to be seen as a VFX only feature, it can be pretty easily be used as a nice background elements.
In our “Alley” level, the play area is located in a dark street with view points on the main street. We needed to display cheap moving geometry for the passing by cars. In VR, every optimization point is important of course so we wanted to go for the cheapest solution… Pretty quickly our technical guy came with the idea of particle emitter spawning these car mesh instead of going for the blueprints solution!
Indeed, it allowed us to batch them in a single draw call, which can be a life saver later in the optimization phase. (Except when porting for OculusGO, since on mobile mesh particle are NOT counted as one draw call but that’s another technical challenge we might speak about it later in a new article!)
We were actually so satisfied by that system that we re used it in other levels
Of course the limit is the interactions with the player, since you won’t have any collider on theses mesh, so we kept it in unreachable area. Or just turned these mesh in hot burning lava. Players will think twice before trying to touch this one!
Defining a path for these mesh is important, sometimes the fact that they go in a straight line can look boring or cheap, thankfully you can simulate that by changing the velocity overtime in the particle emitter!
Having the same mesh over and over can be boring as well, but no worries, there is always a way to fake it. In our case, we played on the color of the cars (by using Particle Color in the shader for the paint part) plus the size (which is another good point of using the particle system), and simply placed different emitters, one for each kind of mesh, and random spawn point.
Of course you still need to pay attention that they can’t interpenetrate each other in case of bad luck, in our case we placed them on different lanes of the road but from the player’s point of view the illusion remains!
Here you go! Of course mesh spawning particles can sounds pretty basic for some, but the main point here is to open new opportunities when it comes to the way we use them; VFX is not the only way.
As always, feel free to ask, even come by on our daily development stream (monday to friday) and ask any question you want! Hope to see you there!
We are also on Discord if you wanna come by and say hi!
Our Robot detective game is also already available on its Steam page here: