MY WORKFLOW TO CREATE GAME ASSETS

Life’s a learning journey … I got many questions about how I deal with various things in my workflow. This made me write a few articles to make everything clear. Hope you’ll have fun learning these things, especially if you’re a beginner. Also, if you’d like to share your experience with what’s discussed here, please send me an email to tell your own story. Right, we’re moving on!

Engraving texture

Once I’ve started, I keep focusing on a few ways to get this project done:

1. Sculpting it manually in Zbrush was my Top-1 idea to try. It turned out time consuming, though, to say the least. You also have to control the scale and depth of a pattern carefully there. I think I’ll leave it till later, maybe when I’m retired.

2. Next came the idea of preparing a pattern in a vector graphics editor by combining vector kitbashes ready to use. Once done, I run my image through a decent CrazyBump app (or any other similar to it, see below), check a few settings and generate a normal map. It does work in some cases, while I still think it lacks life and depth information.

You can also generate Normals from images by using apps such as AwesomeBump, Quixel Suite, Materialize, xNormal, etc. Or even use Photoshop plugins, but with less control.

3. My third option to try was using real photos of a similar engraved asset. First, feed them into a Photoshop. Then, cut out engraving parts needed. After that, adjust levels to clean up the pattern and place them according to UV layout. Repeat this with CrazyBump. Finally, bake an ambient occlusion map, using the normal map you generated before. Use ambient occlusion for dirt and edge wear generators in Substance Painter to create more contrast and depth.

This third method turns out really efficient. All imperfections encountered add more realism.
Lopoly model rendered in UE5
Real photo found online used for texture creation mentioned above

Taking Texture Data from Real Photos

This method has a disadvantage, though. In terms of an artistic approach, it doesn’t seem sincere enough. You have to rely on existing imagery. How often do you actually use your own custom textures, though? Well done, if you do this often or all the time. Yet, many artists use tools of any kind to get fruitful results efficiently and fast.
Engraving pattern after some cleanup in Photoshop
Normal map from CrazyBump app generated from image

Micro Details on a High-poly

Many people hate booleans and never consider using them. Here’s what I’ve done:

I took ridiculously dense meshes to apply boolean difference operation to them. The result seemed really shocking at first glance. Frankly speaking, who cares about topology when it comes to high-poly? You can do whatever you want or can, to get the result you need. It looks just right and Substance Painter gives me an absolutely clear bake. I reckon many of you do this too, furtively. It’s certainly worth it, you know.
Hipoly meshes before boolean intersection
Hipoly hammer mesh ready for bake

How to Do Barrel Rifling on a High-poly

Rifling is supposed to maintain aerodynamic stability of a flying bullet by giving it a spin along the longitudinal axis. In a 3D model, it's baked to low-poly as a normal map only, not affecting the actual geometry at all. I know it's barely visible in a game, while an asset's authenticity may raise questions.

To deal with this, calculate the exact even number of edges first, aligned with the number of grooves in a barrel. Remember to set enough edge loops along its length. This way, you get the twist modifier to work. To apply it in Maya, go to Deform/ Nonlinear. Select Twist to create a twist handle and get axis in line with the barrel's axis. If it's not, rotate it manually and then set the twist angle you need.
Barrel grooves (rifling) on a hipoly mesh
Twist modifier applied in Maya

How Cloth Folds are Made (for the box asset)

Among many other tools for cloth simulation, I prefer to use Marvelous Designer. Considered an industry standard, it works better than nCloth in Maya or Blender simulation addons. Similar to actual sewing, Marvelous Designer uses a different approach overall, without any traditional modeling tools. To upload a previously modeled mesh into MD for further simulation, make sure your UVs are nice and clean, foremost. Second, check that they have minimum shells for further use as sewing patterns, while you use your UV seams as actual sewing seams. Here, you can perform any of these things related to physical cloth simulations: clothing, automotive awnings and upholstery, curtains and furniture in archviz, plastic package wrappings, etc.

To avoid cloth overstretching, so it represents the shape of both gun and box inlay proportion perfectly, I use 3 avatars and 6 pieces of cloth stitched together. I do this for the bottom side too. When you push the gun down, the cloth goes up from all sides. It fails to get accurate shapes and folds look weird.
Simulating cloth inlay in Marvelous Designer
Cleaning up the mesh in Zbrush

General tips

- To bake everything in one texture set, prepare ID map first to work with a range of materials further on
- Use exploded bake, to avoid any artifacts from objects close to each other while baking. Drag crucial parts a little away. Make sure high-poly and low-poly meshes remain perfectly aligned.
- You could triangulate a mesh before baking, to avoid any shading issues. Anyway, a software you use for baking triangulates a mesh automatically as far as GPUs calculate shader parameters for triangles only. In some cases, though, especially when dealing with low polycount, it may get triangulated differently from what you expect.
- Imperfections are the key to realism. Pay special care to them, though! Many beginners tend to exaggerate things such as edge wear, dirt, and scratches. Examine references carefully and try to get the golden mean.
- You don’t need to reduce polycount much, except a few cases such as highly optimized mobile games or remote background LODs. Remember that normal maps never affect the silhouette of your model. Moreover, if it’s fine and smooth everywhere, while the silhouette can expose the lack of geometry. Never go crazy about low polycount to keep it reasonable.
Triangulated wireframe
Subdiv hipoly quads mesh
© 2024 Nick Samarin • 3D Artist • Designer • Please do not use any media without crediting. Thank you!