What is the industry standard for creating basic items such walls and streets?

Hi guys, my first post here :slight_smile:

I have just started studying Unreal Engine for 3D games and as many people, got a bit overwhelmed. I am a software developer(Java) for almost 20 years so C++ is no problem for me, but level design is.
I have millions of questions, but want to start with the very basic here:

What is the “right” way to create the meshes in your scenario ? I say “right” because I understand that can be subjective.
Let’s say that I want to create a street with 1 house on each side(and I can enter in those houses), this is what I am doing:

**Street: **
I got a Cube StaticMeshActor, made it flat on the ground and applied the asphalt texture.

Houses:
I built a very basic house (for testing only) using the same Cube as I used in the street to build the walls and also applied the textures.

Question is:

  • This works, but is this the right way to do it or should I create those assets in proper modeling tools(Maya/ZBrush/Blender/etc) and import to UE ? For real life professional games(not AAA necessarily), what is the industry standard for creating those items ?

Thanks!

1 Like

You typically develop meshes in a modeling tool like Maya or Blender, and then import into Unreal. This is either done as “full buildings” (in which case you may need to do some work to make collisions and materials all line up,) or as “walls and floors and windows and doors” that are then assembled as “modules” (in which case you may at some point run into performance problems with too many individual bits, and need to do work to optimize that.)

There are also (especially for “arch viz”) workflows to go from real-world CAD, and even some plugin that imports geometry from Google Earth. Those assets are not great for on-the-ground games, though.

If you just want to get going, I highly recommend going to the Marketplace and getting some “kits” of buildings or modules. Some of them are in the free collection and will get you started just fine!

AFAICT, you can model buildings in Blender or FreeCAD (using the Arch workbench), and import the resulting static meshes into UE. Modeling in Blender is easier to start with, but the parametric modeling workflow of a real CAD software is more efficient in the long run… especially if you need to implement buildings with precise measurements and constraints, using industry standard modules. Also with a CAD software, you can import/export your building models as industry-standard IFC classes. But if you’re not aiming for precision, Blender is great too… just make sure to get (at least) the Boxcutter and HardOps (commercial) add-ons.

Thanks @jwatte !
So performance wise should I focus on creating full buildings ? I may use some things from Marketplace(free and commercial) but I can’t develop the full game using 3rd party assets… well… I can, but I guess it won’t look the way I want.
That plugin that imports geometry from Google Earth sounds amazing! I’m sure I’ll need to work on it but if it can create the basic structure I can refine it manually, no problem.

Thanks @fhajji !
The FreeCAD seems like a good option. Blender is getting a lot of hype in the recent years but maybe for things like buildings a CAD tool will be better indeed.

Yep for walk in/out buildings i’d definitely recommend modelling and texturing you’re models in a 3d modelling package such as blender, maya, or max, in modular parts (individual wall sections or for each storey), you can always combine them into a single model asset later in UE4 or you’re modelling tool.
For roads the industry standard (especially for realistic first person projects) probably depends on the roads type and location… If they are going to be mud or gravel roads that blend into the surrounding landscape you would probably use the landscape using a landscape texture to paint the road onto the landscape. If the road is a street in the middle of a built up city you might use meshes, probably lengthened and connected using a spline tool. One of the issues with using the landscape paint method is it can be difficult to orient the painted texture in the direction you want (for example paving stones will be oriented in the direction of the texture not the roads) but you also get a lot more flexibility and leeway in the shape of you’re road and the paths it follows as well as adding bumps and undulations to the surface. The bonus of using meshes is you can use highly aligned and featured textures on the road mesh, but without a good spline tool they can be difficult and complicated to lay out and you won’t have quite as much free play in the paths the road follows. So it will depend on the type of road you’re trying to build…
A really good road spline tool here: https://www.unrealengine.com/marketp…blueprint-tool

If you’re building a big city, then modeling entire buildings is probably better. You’ll also want to build a couple of levels of LOD, which generally does better manually than relying on auto-LOD. You’ll want “full detail close up,” for, say, 0 - 100 meters, and then “large shape outlines with normal maps re-cast from full detail, but without the interiors” for 100-500 meters, and then “boxes that approximate the building shape, with normal maps cast from full detail” for 500+ meters away.

The CAD tools are great for precise modeling, and the building CAD tools come with built-in primitives that know how to build walls, doorways, windows, etc. The draw-back is that they generally do not optimize the polygons they generate for real-time display – this is a problem both for count (which isn’t SO bad these days, maybe with a slight pass of optimization) and for texture mapping/stretching/normal mapping (this is generally the bigger problem IMO but I haven’t checked in a few years.) However, the CAD tools usually have zero affordances for building LODs of assets or grouping them into the appropriate scene structure for ease of import into game engines. This is what tools like Blender and Maya are good at!

If you like Python scripting, I bet you can build some parametric scripts that help you build walls/doorways/etc geometry within Blender and maybe get the best of both worlds?

Anyway, if you’re a single person, and trying to build a full city, expect to spend a vast amount of your life on trying to complete the project! Content really is the wolf’s share of game development effort…

Indeed, scripts shouldn’t be a problem :cool:

You know… when I started studying about game development and saw what 99% of all the indie solo developer were doing only 2D or very simplistic 3D games I always wondered: "Wow, those guys are lazy, why not create something bigger, nicer, with more details ? Well… now I know :mad:

For now, I’m only interested in creating city streets, like regular streets/roads with houses and stuff.
Talking about splines, I was really interested in this one by Quixel, but seems that they never really released, check the video below at 55 seconds:
https://www.youtube.com/watch?v=h6UC8e-IHRo

Looks interesting, think the basic UE4 spline tool does that as well though, the spline tool I linked you also allows the addition of junctions connecting to other road splines, and pavements and other edge meshes…