Home Unreal Engine

Concepting level design HOW?

polycounter lvl 7
Offline / Send Message
yaschan polycounter lvl 7
I'm having huge difficulties getting my head together in designing a level.
How do you guys approach this? Do you model in 3d modeling package and then import to UE? Or model in UE using placeholder boxes and then replace the boxes with more advanced meshes from 3d app?

I want to make portfolio piece of old factory floor in Unreal Engine 4.

So I tried both ways. While I can get grids to work, I'm having huge workflow issues.
If I make something in 3d app and need to change it (likely) it's huge hassle. Using 3D app only won't give me enough "feel" of the level, so I need to check the playability anyway in various modeling stages.

If I use UE4 to block out a level, I have no way of getting that information back to the 3D app right? So that I could make sure of the scales?

Of course we can have pen and paper to remember the dimensions and model to those.

Any thoughts?

Replies

  • Obscura
    Options
    Offline / Send Message
    Obscura grand marshal polycounter
    When you hold down the middle mouse button and drag, a ruler will appear so you can measure sizes.

    Level blockout can be done with bsp brushes or placeholder meshes too. Both works.
  • Cay
    Options
    Offline / Send Message
    Cay polycounter lvl 5
    Yes you can actually export any geometry or bsps you like..
    Just select all you need and go up to File>Export Selected
  • Finalhart
    Options
    Offline / Send Message
    Finalhart polycounter lvl 6
    What i like to do is to model with BSP a basic shape and "Create Static Mesh from BSP" therefore i have everything on the grid and i have a checklist of items i need to model!

    I haven't use BSP since i bought this some time ago, it's a real time saver: https://www.unrealengine.com/content/809286aff4014f94bb2d010ed72f8bf8

    I believe the key for games is to make them as modular a possible, working on assets that by themselves don't do anything but combining them together in the engine gives you a lot of flexibility to create anything you like.

    This channel is really good also: https://www.youtube.com/user/Futurepoly/videos
  • yaschan
    Options
    Offline / Send Message
    yaschan polycounter lvl 7
    Excellent stuff guys!
  • < ASH >
    Options
    Offline / Send Message
    < ASH > polycounter lvl 13
    Hey yaschan, as other people suggested before, to design a level you start using both bsp (directly in UE4) or 3d geometry (modeled into any 3d application and then imported in UE4). At the end of the day both solutions are valid: you have to try both and decide which one works better for you.
    But in the end the process involves a bit of back and forth between the 3d application and the game engine: you always have to do some adjustment to the geometry after you test it out in the game engine. :)

    That said, I try to explain you how the workflow I usually use to design a level (hoping that can help you to figure out a process that works for you).
    [Note] I don't pretend to be a master neither I invented the workflow, however in the past I did a lot of research on this topic, studing and trying different workflows.
    One of the best workflows I found was the one explained by Naughty Dog's environment artist David Baldwin in the CG Society workshop Environment Modelling for Games.

    First I try to summarize the workflow in short (bear with me, I will try try to make sense, I promise):
    1) Block out the level using BLOCK MESHES (= simple geometry shapes).
    2) Replace each block mesh with PLACEHOLDER MESHES (that usually hold a little bit more detail compared the block meshes).
    3) Refine each placeholder mesh to become the final GAME MESH (this should be the artistic part, where you tackle modeling, UVs, sculpting, texturing, etc.).
    4) POLISH and OPTIMIZE the art so that the level looks right and the performance are good.


    Ok, now, according to what you said above I think you have some trouble with the point 1) and 2).

    1) First define a scale reference mesh (usually a human size mesh).
    Then start blocking out the level using simple geometry: this geometry usually is called "BLOCK MESH" and is meant to help you design the level areas, the main landmarks (that could be buildings, natural elements or objects) and the spaces. At this stage don't think about any detail, simply try to put in simple shapes and spaces the ideas that lie in your mind.
    You can design this geometry with both BSP (directly in the game engine) or in a 3d application.
    However consider that sooner or later you will have to create the geometry in the game engine, so personally I prefer to avoid BSP geometry and go with the 3d geometry from a 3d application.
    The final goal of this phase is to have the block meshes in the game engine to test out:
    - scale
    - proportions
    - open space vs closed spaces
    - collisions (maybe it's a little early to think about those, but the sooner the better imho).
    - level gameplay / game flow (this is generic I know, but this topic is pretty wide)

    You will certainly find many things to fix that are not easy to spot working in the 3d application (or with BSP) without running through them in game with your character.
    At the end of this phase you should have a rough version of your level, that can be pushed forward in the next phases.

    Note:
    - Some people prefer to model the level block mesh as unique mesh for the whole level: the benefit of this approach that you import only one mesh in the game engine, so is fast to make adjustments and fixes in the 3d application, then reimport the whole mesh in the game engine and test it out again.
    - Some other people prefer to have separate block mesh pieces (or BSP brushes), to be able to modify smaller chunks and test them out.
    I think that you have to test out these 2 different techniques by yourself to decide the one you prefer.


    2) Now you can take each block mesh geometry and create the "PLACEHOLDER MESH" geometry for each element (this means that each component will have its own 3d file): this type of geometry is a little bit more refined and should give you a better idea about what that object is going to be (still without having enough detail to be the final game geometry).
    Once each placeholder object have been modeled in the 3d application you have to replace the blockout mesh with the placeholder mesh in the game engine.
    Remember to test each placeholder mesh in game, making sure that scale, proportion, collisions, pivot placement for each object and general level gameplay work fine.
    Once this phase is completed you should have a playable level made up of single placeholder components, that will be then detailed during phase 3.
    The cool think is that now each element has its own 3d file and each element is already in the game engine.
    In phase 3 will be just matter to replace each placeholder mesh with the final game mesh.

    I hope this rough explanation can help you: if something is not clear or poorly explained ask and I will be happy to clarify it. :)


    Btw if you want to see a different workflow, that start using BSP you can have a look to UDK Modular Masterclass by Tor Frick.


    There are also 2 interesting courses from 3D Motive:
    - Modular Building in UDK
    - Set Construction in CryEingine

    Another tutorial on this topic I bumped into a while ago is the following Digital Tutors course: Creating Game Interiors using MODO and Substance Designer. However I have never found the time to watch it, so I can't tell you for sure how good it is.

    The last resource I suggest you is the website World of Level Design: the website is around from a long while and in there you can find a lot of tutorials guides and hints about level design and environment building.

    I hope this helps (and sorry for the wall of text). :poly124:
    If something is unclear, just ask. ;)
  • ZacD
    Options
    Offline / Send Message
    ZacD ngon master
    I just downloaded SuperGrid (paid for with the $30 Epic gave to anyone that paid for their subscription before it was free)

    It's really great, I can definitely see myself using it to block out scenes and new assets. It seems faster than trying to jump between UE4 and a model package during the concepting and block out phase, especially if you are testing gameplay along with designing a level.
  • yaschan
    Options
    Offline / Send Message
    yaschan polycounter lvl 7
    Big thanks for advices guys! Ash; thanks for writing a complete guide for game level design workflow!!

    For me it makes sense to make modular pieces like pipes in 3D modeler without uvs or such, and build level with them. If I model to grid, they will snap. Since most of these modular assets are not so complicated anyway, for me it makes sense to pretty much model them ready from the beginning except uvs.

    As I have placed them in UE4, if I reimport one asset, all of the instances get updated if the place and pivot point don't change. in this way it's possible to improve on assets after tons of instances are placed in level. It's just important that the pieces stay in place.

    I also realised that if I make a kit, it makes sense to texture the entire kit at once and make the pieces share same texture, this should be good practise I guess. Even though I have been doing this just a week I already realise the value of modular assets. It's such a snap! (pun intended) to work modularly.

    If I have understood correctly, it might be possible to make two materials, "standard rust" and "crazy rust", for example. Then use vertex paint on instances to add rust for variation. am I right?
  • ZacD
    Options
    Offline / Send Message
    ZacD ngon master
    Typically, you want to blend the two texture sets in the same material, but yes, you can blend 2 materials with vertex painting pretty easily. You can also use the AO to control blending, which is nice when you want a dirtier material that would collect where AO collects.
  • Finalhart
    Options
    Offline / Send Message
    Finalhart polycounter lvl 6
    Yes, there is not just one way of doing it but making a decent research and planning will save you a lot of headaches. In my case, i like to model first and then plan how i can manage to texture various props in an smart way, you don't want to bake everything from a HP when doing environments it would take a lot of time.

    I think the best way for you to know the way to work is just by doing it! Making mistakes and learning from them is huge, then for the next environment you will work faster and so on.
  • repete
    Options
    Offline / Send Message
    repete polycounter lvl 6
    Hi yaschan,

    This is my approach:

    The level below was done in modo and keeping the scale awareness was achieved by using human scale models positioned where I need them. I am also using the po2 grid in modo and UE4.

    I can test this level or any part of it by exporting to UE4 and keeping the pivot point right in the middle of the "level area" so all the mesh positions are identical in modo and UE4. So if I export one of the rooms it's pivot is offset to the centre of the world and the mesh position is in the same place in UE4 just like it is in modo.

    For testing stairways and things I just export into UE4 and update it silently via modo if there are any adjustments needed.

    This is all a level "block out" and when I am happy with the game area I start to work on the details for each room or area. The corridors are modular and are complete so they are out of the way and I can work more on the details and blocking out the upper levels.

    It helps if you have a basic 2D plan on how you want the level to look like starting from the ground up or you can just get stuck in and start putting it together.

    Good luck




    DA8XPyn.jpg



    WyWJrP4.png
  • < ASH >
    Options
    Offline / Send Message
    < ASH > polycounter lvl 13
    yaschan wrote: »
    Big thanks for advices guys! Ash; thanks for writing a complete guide for game level design workflow!!
    No problem dude, happy to be helpful. :)
    yaschan wrote: »
    For me it makes sense to make modular pieces like pipes in 3D modeler without uvs or such, and build level with them. If I model to grid, they will snap. Since most of these modular assets are not so complicated anyway, for me it makes sense to pretty much model them ready from the beginning except uvs.

    Well the choice to build "modular" components or not it depends on the type of environment you are working on: in certain cases although you want to have meshes that can be repeated in the environment (like rocks or stones or trunks, light poles, etc.) they don't have to fit perfectly together as for exaple a wall and its corner.
    What I want to say is, don't get trapped by the modularity thing. :D
    yaschan wrote: »
    I also realised that if I make a kit, it makes sense to texture the entire kit at once and make the pieces share same texture, this should be good practise I guess. Even though I have been doing this just a week I already realise the value of modular assets. It's such a snap! (pun intended) to work modularly.

    If I have understood correctly, it might be possible to make two materials, "standard rust" and "crazy rust", for example. Then use vertex paint on instances to add rust for variation. am I right?

    It's a good practice for environments to have a set of tilable textures to be reused on many different objects around the level (like concrete, stone, metal, wood, grass, etc.)

    Then to make the tiling less apparent or to make the surfaces a little bit more interesting you can use a second texture in the material blending it with Vertex Color (however the effect depend on how subdivided is the geometry) or with a Mask.

    On this topic I suggest you to watch the following tutorials (even though they were designed for UDK most of their principles are still valid in the new Unreal Engine):

    -
    [3DMotive] Advanced Mesh Paint in UDK (by Ryan Smith)
    - [3DMotive] UDK Materials - Part 1 (by Ryan Smith)
    - [3DMotive] UDK Materials - Part 2 (by Bill Kladis)

    ZacD wrote: »
    I just downloaded SuperGrid (paid for with the $30 Epic gave to anyone that paid for their subscription before it was free)
    It's really great, I can definitely see myself using it to block out scenes and new assets. It seems faster than trying to jump between UE4 and a model package during the concepting and block out phase, especially if you are testing gameplay along with designing a level.

    Good to know ZacD, thanks for the feedback. :)
    I was wondering myself if to give it a shot but I was unsure if I really needed a tool like that. :poly121:
  • Finalhart
    Options
    Offline / Send Message
    Finalhart polycounter lvl 6
    repete: That workflow looks awesome, but is there a way to make collisions fast to test the gameplay?
  • repete
    Options
    Offline / Send Message
    repete polycounter lvl 6
    Finalhart wrote: »
    repete: That workflow looks awesome, but is there a way to make collisions fast to test the gameplay?


    Yes it's very simple :poly121:

    Once your mesh is imported go to the collision settings of the mesh:

    gp8HAzL.png

    Use complex collision as simple will give you per poly collision so it's not recommended for a final mesh, I just use it for testing and create proper collision meshs once the mesh is final.

    cheers
  • WarrenM
    Options
    Offline / Send Message
    Nice call, repete. Yeah, that setting is golden for placeholder meshes. Done and done.
  • licoriceTea
    Options
    Offline / Send Message
    I find the easiest way to start a new level design is by blocking it out on paper first. Then translate that into photoshop and fix the scale of some areas before blocking out in ue4 to check vantage point and how the player interacts. Image and video hosting by TinyPic
Sign In or Register to comment.