How to create modular levels with varied styles

Hi!

So, I started creating levels in blender for unreal engine as entire objects (creating rooms, and extracting vertices to create new rooms), starting with a simple map built this way, and then using smaller assets later on, which would work as furniture.

this started out well, until I realized that the object would have a hitbox covering the entire thing, making it basically useless, since nothing could be actually inside the building.

So I started with modular level design, creating a few basic assets and materials, and building the map with seperate walls and such. But once I hit a part of the level that would need a specifically created asset, I started to wonder if this is right as well.

Becasue that would mean that every part of the map that is a bit different would have to be created in blender first, and then fitted into the scene in Unreal Engine with proper scale, which I find kinda hard.

How is this supposed to be done? How do you create maps properly? I can’t seem to find any informative tutorials that actually mention these sort of things.

To import colliders, make a separate object in blender named UBX_Door_1 for an object named Door in blender. Then when you import the FBX, UE4 will create a collider.

docs: FBX Static Mesh Pipeline | Unreal Engine Documentation

creating the rooms as large single objects in a modelling app, is more efficient to render than breaking things down into small modular parts, but if you have a large world to fill, every building being unique will grow your file size compared to reusing modular parts. so i suggest you do both, using mostly modular parts to plan out generic areas, mixing in a few unique set pieces, and if you find an area is lowering frame rate, you can replace some of the modular parts with a large mesh. so if you have a hallway made out of modular arches, and they all share the same materials and textures, you can use actor merging, ( enable Editor Settings → Experimental → Actor Merging) to convert multiple static meshes into a single mesh. if you have multiple objects with different textures, merging them will not reduce draw calls, but if you can map all of those objects onto the same texture (texture atlas), then you can combine those meshes into the same mesh, using only 1 draw call. and if you still have performance problems from your environment art, you can always adjust LODs, draw distance, and precomputed visibility volumes.

the number of meshes in the scene increases the number of draw calls, the number of triangles does not. so fewer larger objects are better than many smaller objects. the number of materials you use in the scene also increases draw calls. more draw calls can lead to lower frame rates.

this channel has good references for ripped assets from many different games: https://www.youtube.com/user/rroobboo99/videos
some games use huge single models for entire areas, like devil may cry, resident evil, and call of duty, while other games like fallout, skyrim, or gears of war use a lot more medium sized modular architecture parts. i recommend trying to find a balance, where unique objects are rare and special, because they take more time to make than reusing existing modular parts.

I didn’t make it clear that you can have multiple UBX collider boxes per mesh, UBX_{name}_2, … UBX_{name}_{N}, then import it as a single mesh with multiple colliders. So you can have a collider for the walls, a collider above the door, a collider on the floor, and a collider for the ceiling, for a single room mesh. That would solve the problem of an “object would have a hitbox covering the entire thing”

Okay, thats good to know. I’ll look into that. Thanks!

Okay, things make much more sence now. Thanks!