Is it better to make a structural model in Unreal using mustiple BSP and shapes or single mesh created and textured in 3D software like Blender??
when i say structural model,i mean models such as simple buildings,etc…
which is better in terms of low memory,efficient rendering when the game is deployed on PC and Mobile platform???
That largely depends on the context your model is being used.
Here are just some effects as pointers on what options you have:
One single model made in blender:
If you make one model and use one texture to cover it all, you need a large texture to get enough detail out of it.
So, the bigger the building, the less optimal it gets.
If you use multiple material elements on the model, you have more UV space available (one per element), but it also means that you have one drawcall in the engine per element; whether that element is visible or not.
Using a combination of BSP brushes and mesh primitives:
BSP are always sub optimal for performance. They are really only meant for blocking out stuff.
Also, if you are going to use physics objects (kicking a bucket around), you will notice that collision detection on BSPs are rather unreliable. (Objects shooting through, or into, walls)
-Using a modular set of geometry elements (roof, walls, windows, etc)
That is the way to go. Build your house(s) of individual components made in a 3D software and then assemble the buildings in UE4.
This way you can have detailed textures on each section of the building and things not visible do not incurr drawcalls.
For convinience of asset placement you can set them up in a blueprint as some sort of “prefab” group.
Additionally, a rather small set of elements allows for a lot of permutations and variety.
In terms of efficiency tradeoffs for mobile vs. PC, you should only be aware that a mesh for mobile shall not exceed 65535 vertices. (Another reason agains one single large mesh).
However, for mobile the complexity of the material shaders is more important than sheer polycount.
So, thats my 2 cents on this.
Hope it helps
Modularity using static meshs, Undoubtedly.
I wouldn’t use one texture to cover an entire house.
I would use tiling textures for the siding and the roofing and build modular sections in blender.
For example a central piece that can be used many times, different ends. Gable end. Hip end. Valleys etc…
BSP is fine if used sparingly (think typical DM/CTF level) but if you want to use it in an open world that’s bounded by kilometers, then you MUST use meshes.
BSP performs complex Boolean operations that require a lot of processing. This thing was widely used some time ago when the normal GPUs and vrams could not handling with a very large polygonal count. More currently this is no problem.
But BSP is still useful to initial blocking phase. After deciding correct scale and where all things really will be placed, convert all BSP to static mesh, then finally export to your favorite 3D software for the finishing and detailing. Make all modular, as possible, and reimport all finished FBX into the Unreal as static mesh.
When building things out of multiple modular meshes make sure to limit the number so that you reduce draw calls. For simple meshes it’s better to take the memory hit than to have more meshes than necessary.