Download

3D Modelling for UE4: Looking for Definitive Answers!

Hey there! I’m looking for a little bit of info from veterans regarding 3D modelling for games.

I’ve been looking for some definitive answers regarding 3D modelling specifically for video games. I’ve done *extensive *research over the past month on the many ways of accomplishing this, but have been met with a million different ways to do the same things. My skills have been improving, but I don’t know what I should be focusing on. I have a few questions for the kind members of the UE4 community that have forayed into this territory before!

First, should I be texturing my models in the 3D software (i.e. Blender) or should I be creating material slots for use in UE4 ? I believe the former allows me to create sculpted detail on the object by baking normal maps, while the latter is more modular and requires less user work (i.e. having to manually define roughness and specularity like I would have to if I was painting textures on the object). Am I even thinking about these correctly?

Second, should I be worried about “polygon clipping”? For example, if I were to place a sphere halfway through the surface of a cube (where they would be clipping), should I painstakingly connect them so they are seamless with no extraneous faces? My current understanding is that this is fine for a high-poly model that is intended for baking to a normal map, but for a low-poly object you will use in the game engine, this is a big no-no. I’ve gone to great effort to ensure my vertices are matched nicely so far.

This third question is conditional based on the first. If I were to do the former option, this would be my workflow:

model low-poly -> model high-poly -> bake high-poly normals on to low-poly -> texture paint -> bake textures to UV -> create rough/spec maps in gimp -> create UE4 material with those maps and apply to imported low-poly object

Is this the correct approach? I got this workflow from watching a few videos on this approach.

Thanks for any information you can give me! Much appreciated!

Yes, that would be the correct workflow. You can use other programs for texturing as well, like Substance Painter which will allow you to create all of the texture maps you need for UE4.
Materials in UE4 are mostly for plugging in the textures you’ve already created. When you get to more advanced materials (like animated materials) then there’s more you’d have to do in UE4 in the material. Or for example if you are working on a character and want it to look really realistic there’s stuff you can do to create a hair material in UE4 that requires a lot of work there, like if you look at all of this stuff: https://docs.unrealengine.com/en-us/Resources/Showcases/DigitalHumans

“First, should I be texturing my models in the 3D software (i.e. Blender) or should I be creating material slots for use in UE4 ? I believe the former allows me to create sculpted detail on the object by baking normal maps, while the latter is more modular and requires less user work (i.e. having to manually define roughness and specularity like I would have to if I was painting textures on the object). Am I even thinking about these correctly?”

You’ll want to create PBR friendly textures. Blender does have PBR shader called Principled BSDF that will closely match UE4. With PBR, most of the time you should avoid changing the specular value on a material, and instead use roughness and metallness to define the specular look of a material. Substance Painter and Designer have become the most popular texturing applications for game artists by far, but it’s still possible to make textures in a photo editing application like Photoshop or GIMP. There’s a few other apps that offer painting tools like Mari and 3D Coat.

“Second, should I be worried about “polygon clipping”? For example, if I were to place a sphere halfway through the surface of a cube (where they would be clipping), should I painstakingly connect them so they are seamless with no extraneous faces? My current understanding is that this is fine for a high-poly model that is intended for baking to a normal map, but for a low-poly object you will use in the game engine, this is a big no-no. I’ve gone to great effort to ensure my vertices are matched nicely so far.”

Intersecting geometry can cause some issues with lightmaping and baking textures, but it’s often fine.

model low-poly -> model high-poly -> bake high-poly normals on to low-poly -> texture paint -> bake textures to UV -> create rough/spec maps in gimp -> create UE4 material with those maps and apply to imported low-poly object

Typically I approach models with this workflow

Modular assets: Blockout -> Lowpoly -> Test use in UE4 (check for scale, that in snaps well with other assets) -> Highpoly -> Bake Textures and apply quick and dirty textures -> Test use in UE4, make sure there’s no normal map issues and it bakes well -> Do final textures in Substance Painter

Other assets
Blockout -> Highpoly-> Lowpoly-> Bake Textures and apply quick and dirty textures -> Test use in UE4, make sure there’s no normal map issues and it bakes well -> Do final textures in Substance Painter

Regarding whether to use separate material slots or baked normals… I’m pretty sure there’s nothing stopping you from doing both. You would just bake normals into each UV map.

Multiple mat slots can be a good way to manage UV packing if you are ending up with a lot of unused UV map space. It also makes it pretty easy to set up shader effects for specific regions of a mesh (or you could just build custom masks to achieve this). And it helps with modular color schemes.

The way I’m getting more material slots out of Blender is by assigning separate materials to different sets of polys. Then I’m using Substance Painter to bake normals from a highpoly mesh to each uv map (“texture set” in substance).

The most common use for something like this is any object that would use a glass/plastic, tranparent material as well as an opaque material. Example: motorcycle, glasses, building with windows, hyper-realistic eyes, frog belly with tadpoles, some kind of kickass stained-glass vegetation etc. UE4 doesn’t allow normals on transparent materials, but you would still add normals to the opaque materials on the object.

As far as leaving poly islands detached from each other… it may ruin any automatically generated LODs by rendering a gap between them. So always do your best to connect any floating islands.

You’ve got some misunderstandings there

In general, you do not want to use more materials than necessary, in game engines using more materials for an object increases draw calls, so you want to find a way to create the effect you’re going for in your textures rather than simply applying a different material to polygons or using a multi-material for layering.

If you have a situation where you want to make a modular material, you can introduce parameters into the material that can then be changed using a Material Instance.

Transparent materials can indeed use normal maps.

Understand what the difference is between a texture map and UV mapping, textures are the actual images you use within your materials, UV mapping is a set of coordinates that determine how a 2D image is mapped to a 3D object.

By default, normal maps will only look correct when used with the first UV channel, it’s assumed that your material is using the first UV channel and then your lightmaps are using the second UV channel. If you have additional UV channels that you want to use with a normal map, then there’s a method within the material editor to set that up.