Unreal Engine Workflow for Creating Levels (UE4, question from a Newb)

ABaaaadIdea

Newbie
Aug 7, 2018
88
185
Hi all!

I've been putting off creating my mutant school for the gifted game because I'm at a ?fork? :
I wanted to know whether I'm about to run into major problems, given that I've never made a level before.

I've modeled the mansion's five floors from blueprints - but just the walls.
First Floor.png

Next I assume I need to insert windows, doors, stairs etc. Then texturing + smaller objects (water pipes, chairs etc).
I've been modeling in zbrush, blender and even sketchup for five years, so I've got a good base .. but am pretty sure I'm not doing *just the best* topology ... which I assume will cause problems later? Other than "don't make n-gons" and "use as few polys as possible" I don't think I'm aware of any other best practices :oops:
I also don't actually know how to insert windows, doors etc - I think there are some add-ons for Sketchup etc, and in a worst case I can edit walls to have the openings, but ... definitely a bit scared :eek:. Also, when I google tutorials I must not be using the best keywords because I see a lot of help for creating procedural/random levels.

Any advice is most welcome!
Thank you in advance ;)
 

Saki_Sliz

Well-Known Member
May 3, 2018
1,403
1,011
When I was doing a bit of hobbiest work, I would always try to make 1 unified, perfect, mesh.

The problem with this is then, the constant clean up when ever I wanted to modify or improve something.

for texturing reasons, I actually found it best to just keep the walls to them self, and each other object would be its own mesh that I would texture and paint. but thats not the best either.

But from what I have sceen from many other game makers (not content creators per say) is that the level would be made in the game editor, ie the wals may be one thing, or the wals for a room or hall may be their own object, and then the windows and pipes are their own objects to be added and reused elseware. while this can save on some memory, it can also be less efficient. Breaking up a room into many objects may use moer draw calls to the gpu, but having the level being broken down into different objects means that the game can ignore unseen object and occlude them from the gpu. if you wanted to follow this model, I would think 2 ways of making a level. either breaking it apart the mesh at each door way, letting the dorway cover the gap, or I may try to make the rooms followed a standardize metrick or size so I can just have a few room objects that I resuse for many other rooms.
 
  • Like
Reactions: ABaaaadIdea

slaen

Newbie
Game Developer
Nov 5, 2017
50
197
Hey, and welcome to the world of level creation in UE4! Looks like you've done a bunch of work already. Have you looked into creating and using modular assets for things? Stuff like repeating / tiling textures and elements can really help speed up workflow, and iteration.

One of my goto resources has always been polycount and their wiki.




Anything by Kevin Johnstone is pretty much gold and if you dig through some of his forum threads he answers a ton of questions that people asked him about design and workflow. I think he's still at Epic Games and I'm pretty sure he worked on every single Gears of War title so he knows his stuff and knows his way around the Unreal Engine.

As for ngons they don't really matter unless they start causing lighting artifacts. The engine will triangulate anything on import regardless so it's not really a big deal.

Triangle counts also don't matter nearly as much anymore. Sure you don't want to waste polygons but the engine can handle a lot more detail and you can always add in LODs for heavy assets in the scene.

Also figuring out and planning for what type of lighting, either static or dynamic, will save you some headaches further down the road. For static lighting you'll need to worry about your lightmap uv's mostly and for dynamic you'll get to learn all about distance fields.

Hope that helps. Best of luck!
 

ABaaaadIdea

Newbie
Aug 7, 2018
88
185
Thanks! That's actually an *exceptionally* simple, doable, and good idea from both of you - I'll break up the rooms. The model already has that built in, pretty much.

Re: iterative/repetitive meshes (slaen & saki), I've definitely watched a few vids on that. Even if not doing a Diablo-style crawler, I can understand why it'd be good to duplicate/sectionalize the walls .. I think I'd already considered this for the ground floor (the movies have that obvious, floor to ceiling wood). I know one of the maaany things I still need to investigate is LOD, so, maybe creating sectionals from the current mesh could lend itself to that a bit, too. And I'm also seeing how standardizing sizes would be key ...

Really really helpful thoughts - thank you!

Slaen - thanks for the links and the warm welcome :D I was actually wondering whether polygons mattered anymore (and good to know about ngons - #newb - totally makes sense, and I didn't even consider it). Because I've always wanted "the best" I currently think I want dynamic ... but here's a question:
is static lighting terribly undynamic? What I'm thinking of is how a basement has literally static lighting, while above-ground floors and external environments can have moving sunlamps etc .. but I assume static lighting still casts rays and shadows, right? So maybe another way to ask is "why would one use dynamic lights underground/when the light source isn't moving?" (maybe road flares need to be dynamic, but car lights don't?)
 

Saki_Sliz

Well-Known Member
May 3, 2018
1,403
1,011
Do you know much about light probes? I know they are in unity, and I use them in blender (may work differently in blender) but basically in blender, light probes is a volume that calculates what kind of indirect lighting is filling the room, at different points. What this allows is basicall static lighting, but it fakes light bounce (or global illumination in video game terms, aka unity). while the global illumination is static, this only accounts for bounce light and not the true light source, so you still have to put in a light or lamp, which gives off shadows (basic dynamics), so things can move around but still seem like they have global illumination. if you want to move the light however, that may not work, and you just have to rely on the game engine to calculate global illumination in real time. if the light is simple, like on, off, red, flashing, you could have multiple light probes or settings and swap things in and out to fake dynamic behavior. but this could work differentyl in unreal, I don't really use it but I know it has a more powerful 3D pipeline than unity.
 
  • Like
Reactions: ABaaaadIdea

ABaaaadIdea

Newbie
Aug 7, 2018
88
185
Do you know much about light probes? I know they are in unity, and I use them in blender (may work differently in blender) but basically in blender, light probes is a volume that calculates what kind of indirect lighting is filling the room, at different points. What this allows is basicall static lighting, but it fakes light bounce (or global illumination in video game terms, aka unity). while the global illumination is static, this only accounts for bounce light and not the true light source, so you still have to put in a light or lamp, which gives off shadows (basic dynamics), so things can move around but still seem like they have global illumination. if you want to move the light however, that may not work, and you just have to rely on the game engine to calculate global illumination in real time. if the light is simple, like on, off, red, flashing, you could have multiple light probes or settings and swap things in and out to fake dynamic behavior. but this could work differentyl in unreal, I don't really use it but I know it has a more powerful 3D pipeline than unity.
I don’t know much about probes - saw a video on setting them up, where the author added more and more to do why you’re talking about (almost certain it was in UE4).
Thatd be interesting to check out, so, I’ll look into it - thank you!
 

slaen

Newbie
Game Developer
Nov 5, 2017
50
197
Because I've always wanted "the best" I currently think I want dynamic ... but here's a question:
is static lighting terribly undynamic? What I'm thinking of is how a basement has literally static lighting, while above-ground floors and external environments can have moving sunlamps etc .. but I assume static lighting still casts rays and shadows, right? So maybe another way to ask is "why would one use dynamic lights underground/when the light source isn't moving?" (maybe road flares need to be dynamic, but car lights don't?)
Well there's tradeoffs with which lighting solution you choose. But a talented lighting artist can make either one look amazing. I'm a complete amateur when it comes to lighting so don't rely on any of my lighting advice as gospel. From my understanding the rule of thumb is that for a game like Fortnite, where the players will be constantly building new structures and destroying them, then you would want a dynamic lighting setup or if you have a realtime day and night cycle then you would also want a dynamic setup. Static setups will be better if the level won't have large realtime changes or is generally one lighting condition. If you had an exterior level at sunset, and only at sunset, then that would be a good use for static lighting. Static setups will allow you to bake in the lighting information and is generally what is used for any of those really cool architectural visualization projects you see in UE4.

You can sort of mix and match things a bit. This is where my knowledge gets really limited. But you can have dynamic lights within static lit scenes. Like having road flares on the edge of a road at night - the majority of the scene could be static lighting but the flares, if you wanted them to be able to move, flicker, or fade out over time would be dynamic lighting.

And yes, static lighting will still cast shadows and there's solutions for godrays and all that fancy stuff too. You can also have different lighting setups on different levels. Your basement level could have static lighting but then when the player exits that space they could load another different level of an exterior forest where the lighting is all dynamic if that's necessary.

I hope I'm explaining this alright. As always the UE4 documentation can be a great resource:
Also digging through youtube there's a bunch of tutorials and talks about lighting. The official Unreal Engine channel has some great content if you're willing to dig around for it. For example this talk is all about dynamic lighting in Fortnite and how to use those features

Oh and back to the environment modeling stuff: the LOD system in ue4 is great and so much easier to use than previous versions, definitely something that is good to learn.
And learning how to use the grid and fitting your environment assets to that will save so much time and headache it's crazy. There's one or two articles in that polycount wiki that cover how to effectively build meshes to the grid even when they aren't just basic rectangles and stuff.