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.
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.
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.
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!
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.