Please critique my approach to modelling post apoc buildings:

Goal : Post war citiscape of a real world city.

Guys, I’m building out a whole 2km x 2km city cbd. Every building is destroyed to some extent, some are rubble, some are just heavily damaged I do however want the original buildings to be recognisable so I need to keep enough facade and\or form so the builings are recognisable.

The approach I’m using is to

  • Import OSM data to provice spacing\scale blockouts (done, this seems to work).
  • Import the OSM model back in to blender. I split this in to ‘Loose Meshes’ so I could select individual builngs. Then imported this back in to Unreal as a single mesh by combining them). This gives me a reasonable ‘citiscape’ of mostly rectangles. Thankfully the OSM data has height built in to it so I can see where the road heights should be.
  • Added a landscape mesh, then massaged it up to meet with the bottom of buildings. This kinda worked to provide a rough ‘rubble’ base which I’ll punctuate with flat section of static mesh based road\paving where it works for me. So, the default ‘ground’ is rubble.
  • Poke holes in the mesh where the buildings are. This is fiddly as this is not very accurate even wiith a small brush. I also tried just using rubble piles as the ‘ground’, but I had never ending problem stitching them all together in a way that gave me no visible gaps. I’m not decided that landscape is a good tool here, but it does allow me to use other unreal abilities like automaterial with foliage (With foliage being a mixture of grass, bricks and other broken bits of stuff.
  • As I convert the OSM data to modelled building I just delete them out of the big map, and replace them in the unreal project with an independent static mesh.

Ok, so far this is working. So next, I jumped in to blender and started building whole buildings. I did NOT create walls and pillar that were grid aligned which is a more common approach. So far this give me the ability to easily handle non rectangualr buildings which my city has HEAPS of. The big downside however is that a 10 story office block in blender where I want bolts and brackets in the eelevator shaft is getting tedious to work with. I’m finding ways to build object groups to hide detail I’m not working on but even the blender viewport controls seem to fight me working at detail on big models, even using ‘walk’ mode. UV mapping is frankly aweful already, but I have not spent much time in this space yet. Maybe different objects in the model can have different UV maps. I’m not sure yet.

My building models are coming in at 0.5-1m polys each, which are mostly empty of furniture. My plan is, with nanite this is going to work out, but I’m not certain yet. I do use templates, but this is restricted to things like ducting, sprinklers, elevator and fire stair shafts, etc. They however are exclusively used in the modelling tool however and mostly just combine to the building poly total.

I’ve done about 5-6 buildings now, some only outsides, and this current on at 1 million polys includes quite a lot of internal detail. What I don’t know is whether I’m paining myself in to a corner with this approach.

Whats your opinion? Am I about to find out I’m pouring effort down the drain when I hit some limit or am I just doing it ‘the hard way’ and being bone headed.

Could you share some images of the buildings that you modelled?

Kind thanks for the interest. Here is the one I’m working on right now. This is per-destruction which will involve a collapse of about 50% of the building floorspace, mostly from the upper floors and lot of holes. This is why the upper floors are mostly empty right now. Google maps source is here:

I’m only just starting to add materials now in unreal. It ‘fits’, but since I have about 300-400 objects which are combines I get crashes on import frequently, so I just ‘join’ in blender to get around that. I haven’t gotten around to working out if Collections fixes this or not… I’m thinking, probably not.

I tried turning on nanite… but ahh, it didn’t like the model at all, and randomly moved verts around. Even single rectangular columns that are not beveled yet get mangled, so, I guess that’s something else to work on.

I can imagine breaking up the model, perhaps in to floors, grid aligned so they snap back together, but, once I start collapsing floors and twisting the model in to a wreck, the concept of floors will go away.

Obviously the whole model uses complex collision, no way around that. I plan on leaving plenty of occlusion planes in the geometry so when at ground level in the city you won’t be able to see much besides the street you are on. This model in unreal on my 3060ti\8GB seems to cost about 5fps, fully textured up close in a model consisting of almost all of the Sydney CBD. I’ll probably need nanite to work eventually to render more than a dozen bigger buildings.

A medium sized building about 6 floors across the road is about 35k polys. It’s empty apart from the internal stairwell.

So question is, since my approach not not using repeatable building sections (square floor tiles, single story columns, etc is this going to end in such calamity that I’ll have to throw the whole thing away 6 months from now when it’s totally unworkable? Thoughts?