Hello everyone! I am really in need of a solution, this block in development haunts my dreams, in many of my projects it reoccurs and I nearly gave up!
Imagine a game about a laboratory where you have to navigate a player in a topdown view, between cupboards of ingredients, mixing and managing a lot of objects.I tried to have a cupboard class that would spawn 2top and 2bottom items randomly, then generate a maze with those as walls. Basically a storage-maze.
Sadly as expected my drawcalls went up insanely, since it draws for every cupboard individually, and for every ingredient object in those cupboards. So even though if in the best case 1 type of shelf texture and 1 ingredient texture is in the map, it draws the same two textures 500+ times. How would you make Unreal batch drawcall them, so objects (from the same class) with the same mesh/texture combo feed off the same drawcall? Is it even possible in Unreal? Or in any engine?
How does Overcooked handle all those tables around the map, that can even move around, have funcionality and so on? How does Planet Coaster handle a building with hundreds of components? I can’t rely on LOD-s because my camera is always at a fixed distance, like in Overcooked, but even more zoomed in so it doesn’t have to load even more at the screen.
I tried to work with Instanced static meshes, but I need the meshes to attach to hands, roll on the ground with gravity, have collisions etc. And under “drawcall reducing threads” I’ve always found the “merge meshes” answer which doesnt help in my case, because the items and cupboards move independently, and are randomly generated. And I can’t use instanced meshes with materials that have opacity. I heard that UE4 added auto instancing, but yet again it doesn’t seem to work. Do I have to set something? What would be your solution? Are you just not meant to have a lot of actors at the scene at once?
Here are some of my tests with ISM-es and auto instancing that didn’t work.
Thanks in advance for your help!!