Hi, i am still quiet new to UE4 and i want to try to build a level that has a Mansion in the middle.
So my Question is: Are there any best practices for building architecture?
I have several ways i could think about tackeling the problem but i have no idea which makes sense:
(to illustrate what i mean i have uploaded a picture of what i am playing around with at the moment; it would be the first floor of a 2-floor mansion)
A) i could just model the whole thing as one big fbx (except stairs and repeating features).
My fear here would be that i think it would not let me do anything for the performance and i don’t know how i could separate it so can texture rooms separately.
B) i could make the outside wall/roof as one big hull (red) with 0 thickness and then make every room its own custom shell (yellow) and floor/ceiling (blue).
My fear here is that that might be a nightmare to assemble. Also i don’t know if the empty paperthin walls would be a problem, i would have to take care to not miss a spot where i need to seal those holes where windows and doors are.
C) i could also try to split the house up into smaller parts that i then assemble but i fear finding the right places to “cut” it would be hard.
I am new to all this and it could be that i under- or over-estimate problems like performance or assembly. Another important question would be if AI could reliably navigate these meshes (for example would it be a problem when switching: FloorMesh1, DoorCaseMesh, FloorMesh3?) if they are assembled or how well it would work with lighting/collision.
Thank you to everyone who took the time to read this thread.
When I build architecture I tend to create the interiors first, and then conform the exteriors to the layout. Modular pieces are also the best route to go in my opinion, it may be a little time consuming to assemble depending on how you handle it but it’s worth it. You could separate the pieces and place the edge of each mesh along the origin in your modeling package. This would require careful planning for your pieces to snap together when put into UE4. Alternatively you can construct it in your modeling package, export it in it’s assembled location and set all of the mesh location values to the same value.
you do realise interior and exterior are seperate engine banks/compartment etc. They are never together. Look at the geck when you do a mod in fallout 3.
at :
I always thought modular level-design is only for when you reuse a lot of stuff, since i only have one building and the rooms are very different from each other i don’t know if that would be a good fit for me. for example: i have different window-forms and different walls on the inside so most pieces would only be used once or twice. Is there another pro for Modular design, apart from a time saving factor?
About the assembly: if i go with modular pieces with assembled location and all of them set in the same location, wouldn’t that mean the origin of the meshes is in some cases far away from the mesh itself? would LODs for example still work correctly with that?
at :
what exactly do you mean by this? As i would like to go for a Croft Manor (Tomb Raider 1,2,3) kind of thing (one big house + the surrunding area (only a somewhat bigger area)) with many different open entrances to the house this might be important for me, but i don’t quiet know what you mean.
: Would reused modular pieces reduce draw calls (as it is the same asset)? Or would this mean i should make one big model? (i guess a middle way would be best)
I’m not sure I understood correctly, but interiors are often seamlessly integrated into scene (e.g. Witcher 3, Gothic 3…), and only in SOME games they’re treated as a separated ‘levels’ (The Elder Scrolls 3,4,5 / Fallout 3/Vegas, etc.)
You want to go with modular pieces. If you design the entire layout as one big fbx, then the walls/doors/etc… will be rendered even if the user cannot see them since there will not be any occlusion. The level will also rendered at maximum LOD as well. As another person stated, the less objects, the less draw calls, the more efficient the game. However, that is a bit misleading. The less unique objects, the less draw calls.
For example, if you have a 16’ wall. Your modular piece is 4’. You then create the wall with 4 of these (4*4 = 16). You still have 1 draw call, as the engine is using instances to duplicate that object.
Thank you SaviorNT. So from what i understand i would go with a mix between my option B) and modular pieces. Just please tell me if my following aproach would work:
Every room is an asset (maybe really big rooms and corridors are split up) and the outside hull would be multiple assets combined.
I think i have to split outside and inside as they will always be different.
Red, yellow and pink would each be pieces for the outside wall, Green would be a room and blue would be a doorframe.
I would need doorframes/windowframes for every transition between inside and outside (or between two rooms) to hide the holes that would normally be there (for example where the arrow is pointing). This is no problem as i would need door/window assets anyway.
Would this work or is it overcomplicated/not going far enough? Or am i missing something?
Draw calls is not the only source of slowdowns. Fillrate is just as bad, and more objects means more unnecessary fill rate.
I actually like option B in your original question.
If you don’t do option B, then build each wall separately, and cut at the corners – so, like an option B where each yellow area is in turn split.
Wall with window
Wall with door frame
Wall Corner (L-cutout)
Wall Section (blank wall section)
Seam Cover (Wall-Floor / Wall-Ceiling L-bracket things, I forget what they’re called)
Isn’t fill-rate handled by Occlusion though? I think it is…
As far as the “repetitive” nature of modular designs, you can use world-space UV’s (this would allow you to scale your meshes w/o texture scaling issues) in your materials, and you can also use props. If you look at most AAA games, look, really look, at how they build the level. You’ll see that most everything repeats, but you don’t notice it due to either a) Props or b) Decals
The stairs of course would be separate objects, as I do not believe that there is a “Mirror” mesh modifier that could be used.
edit: Make sure everything is scaled 1:1 as it is in the real world
In all elderscrolls and about every Bethesda/Zenimax designs Not all but all the eldersacrols. The Tes construction kit to geck to skyrim construction kit. Interior area is not in the same area of the outside building like any of them you build the outside or inside either way. the presets rooms that are in fallout 3 or any others will not fit into any preset building nor are they supossed to This video should show the load point to interior and exterior. if this is what your talking about https://www.youtube.com/watch?v=uQmQ-9B8hZ4 I am shure Unreal follows this also. watch all but the main area is starting at 5.00 where the teleport from outside to interior takes place
Best practice wise since it sounds like your building using a 3d editor would be to bring it into Unreal 4 as a single model to A) check the relative scale of the environment and B) create a source chain
Getting the correct scale visually is usually the number one problem you will be facing even though an environment was built to true world scale so a room that might be large in the real world can read rather small once you are running around it from the player perspective.
The most common word use is gray boxing or iterating by first establishing the volume of space the player will be running around in and establishing the relative scale from that perspective. Once you have the scale established you can break things down as being modular or as being edited in place that you can feed into UE4 by way of the FBX source chain that can be broken down even more by iteration.
In this case as to your first post I would import the entire floor plan into UE4 to use as a template (3d blueprint) to get a walk around sense of the over all size and correct/reimport until visually it “feels” right.
From there you have a few options.
You could start replacing walls with component objects and with each completed wall update the 3d blueprint by removing the unneeded walls or just leave them in as a façade so B would be a good choice. As a personal choice I usually go with creating a room as a shell, a façade, as a welded enclosed space produces a much nicer and consistent lighting solution.
Modular assets help with lighting, lightmaps and lods. I don’t think many people use 1 asset for an environment, there tends to be issues from my understanding of it.
I recommend that you build youself modular pieces as described above, like LEGO bricks to be able to put them together in different ways to get many rooms/buildings out of them.
Then also use different but fitting materials on those modules to get more variations out of them, eg. for the outer surfaces or the inner painting/wallpapers.
Here’s something I’m a bit unclear on, when it comes to modular design: how computationally expensive are modular pieces that are loaded in memory, but not actively rendered due to occlusion/frustum culling? I’m trying to figure out whether I can make a large, multi-story building in a single level and rest content in the fact that since I’m only rendering one room at a time the overall footprint won’t be too big, or whether I need to be very aggressive about streaming assets in and out out memory, perhaps even on a room-by-room basis.
i’ve been wondering about this, too. When is it going too far and causing performance issues ? 5k pieces, 10k ? it would suck setting up everything only in the end to have performance issues that could’ve been avoided by going slightly less modular
i am worried about going overboard on the modularity, it helps a lot when you are not that great of a 3d modeler and can break things down into little pieces and theoretically you could get a lot of re-usability with something like substance designer to minimize repetitiveness