Should I make world out of dynamic meshes?

Hey guys!
I’m working on a modular blueprint, which allows me to dynamically add and remove meshes from itself.
The reason I’m using blueprint is cause when I don’t the lighting screws up (see After building lighting is all different shades - Rendering - Epic Developer Community Forums)

So… now I’m thinking this might not be a good idea, since the whole idea of building a world out of static meshes is that the game will run faster.

So is it a good idea to make a world out of blueprint static components? I’m getting immensely frustrated of ue4… I just wanna make a game and I can’t even start cause of these major building problems.

Thanks so much!

If you have problems with baked lighting, you can use dynamic lighting (e.g. DirectionalLight -> set to ‘Movable’) *along *with static meshes - you don’t need to turn them into blueprints to avoid all these baked lighting problems.

PS. If you work on dynamic/procedural/etc. structures, make sure to use instanced static meshes wherever it’s possible, to reduce drawcalls.

You get better performance and higher quality lighting with static meshes so it would be better not to make everything dynamic unless you have to (for things like a dynamic time of day). In your case, the issue is that modular workflow is not the way you should go with what you’re constructing. Those very simple meshes don’t have any advantage by doing it modular, since it saves very little memory and costs more in draw calls you get bad results and poor performance that way, it is better to construct more complete objects rather than making them out of many simple shapes.

Problem is, my game’s a dungeon type of game… so it’s hard to build complete hallways and such… :frowning:
Skyrim manages to be fully modular, how do they do it?

They don’t use modular simple meshes, and their game requires a dynamic time of day so they don’t have a choice. Also, graphically it’s not that amazing.

This is a really good write up on skyrim’s modular level design. They build complete hallways in segments.

Hope that helps :slight_smile:

I think you might be conflating a couple different concepts here. Most often when level designers and environment artists talk about modular building, they are talking about building libraries of objects that can be combined to build larger scenes. In the library they will have both static and dynamic objects depending on what the object does in the world. A curtain, or a flag for instance will be dynamic because it will have physics applied and deform. A section of wall, floor, or column would most likely be static.

To build a dungeon hallway modularly, you’d build small floor sections, wall sections, ceiling sections, decorative pieces, and lay them out in the editor into a hallway. Save that as a level. You’d then light it and bake your lighting for your static meshes. This is what you are seeing in games like Skyrim. There may be parts of the environment that are populated procedurally, perhaps even at run time, but most of the level is constructed by an artist/designer by hand in an editor or 3D app using a collection of modular pieces and unique geometry purpose built for that area. Most of the geometry is static and light mapped.

I gather what you are interested in is either a fast way to procedurally build levels in the editor, or at runtime. Is that correct? If it’s about building things quickly with modular pieces, that’s what Unreal’s editor is all about and you can further that capability, using a tool like Houdini Engine to build assets. If you want to procedurally build dungeons at run time, you will need to consider switching to an art style that is not constrained by lighting. Most procedurally built games have simplistic or stylized art styles for a handful of reasons, one of them being that light mapping static geometry is a time intensive process and not something a player is going to wait to have happen while the level loads.

They explain a lot in that nice article.
I do not know, how experienced you are with modular design, but it’s not so complicated to make, only to understand/learn it first.