Hello. I hope this question is clear. Its about the optimal way to use my assets.
I am building a very large level of consisting of hundreds of buildings.
There are about thirty standard build layouts each built using about a hundred of the same meshes. So, for example, there are about fifty wall sections, ten or so roof parts, etc. I can also change the textures on these sections.
Main question. Is it most efficient to leave all these individual meshes grouped as instances? Should I collapse all the buildings to a simple mesh? What would be the best way to handle this?
The most efficient is to colapse into one single mesh, single material or even merge multiple buildings of the same materials into one - make sure they are placed closed to each other.
However, during development you may not want to do this as you will want the flexibility to modify the buildings - if I were you, I will do it once a while just to make sure things are as expected (merged buildings).
Hi, If you keep them as instances - but use a singleton instance manager so all instances in all buildings use the same ISMCs, you can get slightly faster render times compared to rendering a complete mesh (things like culling, distance from camera etc are taken from the instances rather than the complete mesh (or with nanite, different culling techniques))- and keep the benefits of smaller modular parts (less VRAM, faster to build/change etc).
Collision built from modular parts takes away the pain of building collision for internals etc too.
If you’re adding destruction to the buildings - that may be something to consider too - how you’re going to build the geometry collections etc.