Working on Realistic Props: UVs & Texturing

Davide Arena talked about the production of his Italian Army Backpack project creating in Zbrush, Maya, and Substance Painter.


Hi! My name is Davide Arena, I'm a 3D artist based in Turin, Italy.

After taking a lot of courses on visual communication and advertising, I started my career as a graphic designer, but my love for video games was too big. Eventually, I decided to study 3D graphics at Ilas in Naples, Italy.

After that, I moved to Turin where I met Alex Novello who became my friend and a mentor since he had more experience in 3D art.

Over time, I worked on some scholastic projects and small indie video games. At the moment, I'm looking for my first AAA experience in the video game industry.

Italian Army Backpack

Italian Army Backpack: Strat of the Project

The backpack was a good opportunity to create a piece for my portfolio and study how to make wrinkles and texture such props.

I used a lot of references, from a basic military backpack to peculiar assets that a wanted to add, and gradually built my personal version of an Italian army backpack.

Initial Sculpting

I started with a very basic blockout following the main reference of the backpack. After finding the right proportions, I moved to ZBrush where I sculpted all the shapes, wrinkles, and details. Usually, I use the most basic brushes like Standard, Clay, etc., but in this case, I used a brush pack from JROTools for the seams and stitches and a brush pack from Nicolas Swijngedau for cloth damage. For the zippers, I used IMM Zipper M brush in ZBrush.

For the hard-surface parts, I used pretty much the same workflow as before. In the blockout, I added all the meshes needed for the boolean process. After using booleans, I usually smooth the edges with the "Polish" parameter. You can find this slider under the "Deformation" menu in the right panel.

I also used some scratch alphas generated in Substance Designer for the scratches and small details.

1 of 3

In order to achieve the details on the straps, I used a Noise with an alpha. You can find it under the "Surface" menu in the right panel.


After that, I moved to Maya for the retopo. For this asset, I didn't care that much about the polycount because I wanted to get a result as detailed as possible.

I did the UVs in Maya and optimized them in order to make the best use of the space.

In order to save as much UV space as possible, I transformed the curve shells into straight shells with Straight UV tool.

After that, I fixed all the weird deformations using Optimize or Relax tools.

For the pieces with the same UVs, I used the space 0/-1 mirroring the duplicated shells. This technique allows you to save space - it's like having overlapping shells but without errors during the baking process.

The script I used to do this operation is:

polyEditUV -u -1 -v 0


For texturing, I moved to Substance Painter.

After baking, I started the texturing process by creating a fill layer with very low roughness and a dark color. I created a mask with a dirt generator and played with the parameters until I found the result I liked. It worked as my general dirt layer and I always had it on the top of various materials to make the results more homogeneous.

The most challenging part was the fabric. I realized that in order to have a good result it's necessary to have proper color variation. After applying a base fabric material, I started painting the color variations by hand and using procedural maps as masks in the fill layers.

For the wood, I used the method explained by Phillip Stoltz but with a more realistic approach. In his project, he used an overlay image for the veins of the wood and I did the same thing. I used a wood material with all the details I needed and then applied an overlay picture of wood veins. To my mind, it works well!

Final Stage

Renders were created in Marmoset Toolbag. At this stage, I did nothing particularly special - I just played with parameters and lights aiming at highlighting all the details.

Davide Arena, 3D Artist

Interview conducted by Arti Sergeev

Join discussion

Comments 1

  • Anonymous user

    very good,How to achieve realism?


    Anonymous user

    ·4 years ago·

You might also like

We need your consent

We use cookies on this website to make your browsing experience better. By using the site you agree to our use of cookies.Learn more