I am sure you will be able to locate more tutorials as well. Don't hesitate to ask questions here as well
EDIT: Of course well optimized LODs and efficient materials will take you long way too!
Also if you create 1 blueprint per building you will save a lot of performance if you use Instanced Static Meshes for repeating elements such as windows, doors and etc. Here’s a bit about instanced static meshes UE4 Optimization: Instancing - YouTube . As you will see in this video you can have 100 instanced meshes and its very performance effective
Stream levels can be of any shape and size and can be rotated inside the persistent level if needed.
Since Instance Meshes are part of blueprint, you will be using them duplicating Geometry per building inside the blueprint. Essentially for each building you will put frequently repeating elements as InstancedMesh. Once you familiarize yourself with some of the UE4 concepts and watch those tutorials these and more questions will be answered. I would recommend going with YAGNI (Ya Aint Gonna Need It) approach: Create the whole level by importing your assets in UE4 and look at performance. If its not acceptable optimize LODs and material rendering. If still not acceptable Break it up into sublevels and stream them in based on need. Then use instanced meshes on repeating elements, where your buildings will become highly optimized Blueprints. With what you described I think you will be good enough with optimized LODS. Latest UE4 will even create automatic LODs with some setup (look that up too)
Like I said, you will probably not need it but just for your own info here’s what I mean: You can create a Blueprint for a building. Once you do, you will be able to add some meshes to this blueprint. Blueprint editor has the same type of viewport as your editor, so you can move meshes, change their material, scale and rotate them, all that good stuff. What you would do is import the bare bones of the building, Without doors, windows or any other repeating element. Then you would create an instance of hierarchical mesh inside the blueprint. A window for example. Then you can either manually place those windows or if you have sockets or some other dynamic way to find all the locations where windows should be spawned, you can write a visual script to spawn all the windows. Hierarchical meshes can be rotated, scaled and moved like normal meshes. You can also script random spawning of furniture or small objects around the building or again, place them by hand. Once you build the blueprint you can just grab it and pop it down on the map and your building will appear there. If you do additional work you will be able to create variables on that blueprint and have it change colors, turn lights on/off in the room and etc I would suggest watching a couple of tutorials from Epic about blueprint scripting.
I am building a large architectural masterplan that is comprised of around 7 or 8 large buildings along with the associated landscape (areas of roads, planting, car parks etc). Initially, I was just going to add everything to one level in UE4, but thinking about it, this perhaps isn’t the most sensible approach. The thing is, I am pretty new to UE4, so I am feeling my way through it, and using this forum (along with general web searches and tutorial videos) when I get stuck. So far, things are going OK.
Now, my familiar tools are AutoCAD and 3dsMax. Within these applications, I would model each building in it’s own file and ‘XREF’ them into a master file. Can (and should) anything be done like this in UE4?
How would you recommend going about something like this? A separate level for each building, or somehow save each building (each comprised of many mesh elements (windows, doors, walls, roofs, floors, stairs, furniture etc) as a group or asset of some sort?
Any tips would be hugely appreciated before I get too far.
Thanks Irakli - really useful. I’ll take a look at the links and try and get my head around it.
One thing to mention is that all the buildings are essentially rectangular on plan, but they are aligned at different angles (i.e. not aligned to the x or y axis). This makes it a pain to duplicate geometry such as windows/doors etc as you can’t just offset in one direction.
Do Level Streams allow the different levels to be aligned to a grid, but give the option to rotate correctly in the main persistent level?
I must say I am slightly confused by your “duplicating Geometry per building inside the blueprint” and “your buildings will become highly optimized Blueprints” comments. I am not using Blueprints (yet!) to duplicate my meshes - I am just using SHIFT+CTRL+ALT+Move to copy my repeating meshes around. Is there some better way to be doing this?