so I am attempting to create a large tower made of unique bricks in a procedural pattern. I sculpted 20 bricks in zbrush, and painted them onto a large cylinder at UE4 Scale. The total ended up being almost 4 million polygons (Each brick is only 1000+). the mesh uses 5 materials, with each 4 bricks sharing the same UVW layout. I plan to instance the bricks so the whole mesh only takes up 5 drawcalls. My only problem is getting the mesh into Ue4. Combining all 2,000 bricks in 3ds max is pointless because then I won’t be able to instance the elements, and Ue4 crashes when i try to arrange 2,000 objects all at once in the editor. This has been done in many games many times, so I’m sure there is some easy way I am not thinking of. Pictures included of mesh along with material layout.
Bake the high poly model to a low poly model. A normal mapped mesh would look almost identical.
Huh, I hadn’t considered that, mainly because I doubt a normal map could get the same level of physical depth and collision interaction I was hoping to go for, but I’ll give it a try. i think I may have found my answer though with instanced meshes, I just need to figure how to get it into UE4 without building it in the editor by hand.
The bricks seem to have all tve same dimensions…try to use blueprint construction script to assemble the tower procedurally. Hope that helps a little.
Hmmm, 1000+ on a brick is too much.
Use a straight box and implement the surface details wia normal mapping / POM.
Also, create section of the tower aas a single mesh and use them as LODs for distant parts of the tower.
Only provide high detail to what is close to the player.
You can create the entire shape and bake the detail to a normal map and it’ll look fine, though what would be more ideal would be to create a smaller texture (like maybe 512x512) of the bricks that you can tile because then you can get high detail across the whole mesh without making the textures huge.
Alternately, if you really want to have individual bricks then you could make a low-poly version of each brick and bake normal maps for that. You can then replace your current high-poly bricks and even combine the baked textures to one texture map and get pretty good detail. At that point I would then attach all of the bricks to one mesh, you could even split it to a smaller section like 10 layers of bricks and repeat that to save memory.
Thanks for all of the suggestions! Looking at it now, 2000+ bricks is probably a bit much. Unfortunately the player will be very close to this structure and even scaling it, so LOD’s and basic normal maps won’t cut it. I really DarthViper107’s idea though, making individual 512x512 textures on very low poly bricks and then baking a normal map onto them and constructing them in batched instances could definitely get the job done. I think I’ll try the entire thing normal mapped first though, that is certainly the easiest solution, I’m just afraid I’ll lose that physical “bumpiness” as normals maps obviously don’t truly affect geometry.
I agree with what @Kvogler is telling you. POM is parallax occlusion mapping. Tesselation can slice your texture, and make it look like the bricks are extruded.
The only reason to do something with so many poly’s is if you want to destroy it in some super slow motion cinematic hollywood fashion.
Here’s an example of what tessellation can do: Tessellation On/Off Comparison - Unigine Heaven Benchmark - YouTube