Download

Questions about making Static Meshes for UE4. Modularity, Light maps, BSP, etc.

Just have a few questions about static meshes and building levels in general for UE4.

Here’s my first scene I’m making. Its an ancient Roman villa.

Here’s my questions:

  1. I’ve got a wall piece selected. At the moment, its 500 UU wide x 600 UU high. Is this generally a bad practice to make them not a square? I wanted that extra height. Other meshes like the floor mesh is a 500 x 500 piece that I’ve just snapped together.

  2. Is it better to split things up into little pieces like this or should the whole wall section be one big piece?

  3. for the walls and floors, should they have thickness or can they just be a single plane?

  4. What would be a normal light map res for pieces like the walls and floor? 128?

  5. Is BSP still something that is used for a final piece? Or is BSP just for blocking out now and to be replaced with static meshes later?

Thanks!

1–It doesn’t matter if they aren’t a square
2–In that particular case it’s better to have the wall as a single object, because each part gets processed by itself for lighting, you can end up with seams in the lighting, plus each object is a draw call which slows down performance. There’s no benefit to having it made of pieces.
3–It is best to have thickness to the walls, and that none of the corners of the walls or ceiling/floor extends beyond where they should be, for instance if a wall goes through the ceiling then the part that isn’t visible can end up with shadow or lighting that bleeds onto the visible part.
4–As low as you can get it, large flat objects can usually have a very low lightmap resolution since they have very good lightmap UV’s, but if you have lots of things casting shadows on them then you might want a higher resolution so that those shadows are more detailed.
5–It’s best to avoid BSP, some people use it for testing before they place static meshes, but there’s not much use for them in the final game. Plus they actually cost more in terms of performance than static meshes.

Okay, wow. I didn’t realize this. I thought that by re-using the same mesh it would only count as one draw call no matter how many times I used it. So should I also do that for the floor as well? Just one big mesh and then make my textures tile?

So is this the wrong way to have walls meet?

would something like this be better and with that end face deleted?

Also I appreciate all the help this far.

Reusing meshes reduces the amount of memory used, not draw calls. There’s an instancing function in Blueprints where you can create copies of a static mesh and in that case it will combine them and they will be a single draw call, but even then you would be wasting polygons since a full wall could be a single quad.

As for the screenshots, the second would be better, on the first example, the part of the wall that’s against the edge of the other would end up with shadow, and the shadow could bleed onto the visible part of the wall. It’s a similar issue if the ceiling goes across the top of the wall, since it would leave a dark mark on the ceiling and that could bleed over as well, so ideally the ceiling/floor would follow the edges of the walls instead of just a plane that covers the whole area.
You can remove the top/bottom of the walls, since they won’t ever be visible. Though having the top/bottom on the walls won’t cause any problems either, it’s just a place you can remove polygons that aren’t needed.