Announcement

Collapse
No announcement yet.

Best practices for big Buildings in UE4

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Best practices for big Buildings in UE4

    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:
    Click image for larger version

Name:	Mansion.JPG
Views:	1
Size:	25.8 KB
ID:	1162204
    (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).
    Click image for larger version

Name:	M2.jpeg
Views:	1
Size:	98.8 KB
ID:	1162211
    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.
    Last edited by wabun; 10-01-2015, 07:11 PM.

    #2
    Hi Wabun,

    Check out "modular level design" on google.

    I particularly like this image too, it does a good job of showing the general gist of the idea:

    Click image for larger version

Name:	857-render_1040.jpg
Views:	1
Size:	104.9 KB
ID:	1088556

    It's actually from a course on digital tutors, but I haven't done it so I can't say how good it is (looks ok to me though).

    And also check out this article on level design from the skyrim level designers at Bethesda.

    Comment


      #3
      The less objects, the less draw calls, and the less overhead.

      Comment


        #4
        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.


        Project Reverie Game | SEJonF.com | Twitter | ArtStation | WIP | UE4 SciFi Assets - Season 1 & Season 2 Discount Bundles Free Asset Demo | Ice Shader

        Comment


          #5
          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.
          Last edited by antoniobradiano; 10-01-2015, 10:35 PM.

          Comment


            #6
            at ioFlow Studios and SE_JonF:
            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 antoniobradiano:
            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.

            John Vanderbeck: 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)

            Comment


              #7
              Originally posted by antoniobradiano View Post
              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.
              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.)

              Comment


                #8
                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.
                WIP: Science Project - A collection of middle school through advanced college level science theory and formula-based functions for use in your own projects
                World Machine to UE4 Export Macro
                WM Folder Generator - Creates a folder that you name with HeightMap, NormalMap, SplatMap, and Tile sub-folders

                Comment


                  #9
                  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.

                  Click image for larger version

Name:	M5.jpeg
Views:	1
Size:	130.6 KB
ID:	1088602

                  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?

                  Comment


                    #10
                    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.

                    Comment


                      #11
                      I would go with:

                      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
                      Last edited by SaviorNT; 10-02-2015, 06:28 PM.
                      WIP: Science Project - A collection of middle school through advanced college level science theory and formula-based functions for use in your own projects
                      World Machine to UE4 Export Macro
                      WM Folder Generator - Creates a folder that you name with HeightMap, NormalMap, SplatMap, and Tile sub-folders

                      Comment


                        #12
                        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
                        Last edited by antoniobradiano; 10-02-2015, 10:40 PM.

                        Comment


                          #13
                          Yep, it's what they did in Assassin's Creed Unity. You can see in this video @ 8:18 how they modularized the walls/door frames etc.

                          Will be interesting to see how this turns out.
                          GTX 980 Ti · Intel i7 3770k @ 4.6ghz

                          Comment


                            #14
                            Originally posted by SaviorNT View Post
                            world-space UV's
                            FYI, world coordinates in materials are slower than local UVs.

                            Comment


                              #15
                              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.
                              Clarke's third law: Any sufficiently advanced technology is indistinguishable from magic.
                              Custom Map Maker Discord
                              https://discord.gg/t48GHkA
                              Urban Terror https://www.urbanterror.info/home/

                              Comment

                              Working...
                              X