3D Environment and Prop Artist Rayhan Sharif shared his process of designing a Smith & Wesson revolver, delving into the steps involved in modeling and texturing the prop in 3ds Max, ZBrush, and Substance 3D Painter.
Greetings, 80 Level! I'm Rayhan Sharif, a self-taught 3D Environment and Prop Artist from Dhaka, Bangladesh. Prior to starting 3D art, I had a deep passion for games and art. I used to play countless video games, which provided a strong base to start my creative journey. It felt like a dream to craft game art and be part of the gaming industry. On the other hand, I developed a strong interest in photography, particularly capturing the essence of automobiles. Photography was like a newfound ability to nurture my interest towards cars. In the meantime, it enhanced my understanding of composition and different lighting techniques. Finally, all these paths gradually funneled me into game art, where I got to nurture and channel my skills into crafting something powerful.
This is a swat van I modeled for Nextgen Dreams 3D.
During my academic journey, I dedicated nearly 3.5 years to studying architecture. At the same time, I started my professional career with a local studio called M7-Productions, where I worked on a number of enriching projects. Further on, I was fortunate enough to work on different projects with remarkable studios like Dekogon Studios, NVIDIA, and Nex-Gen Dreams. Last year, I had an exciting opportunity to work with Metaverse Game Studios, a game development studio where I played the role of creating realistic environment assets and props.
Examples of my work at Metaverse Game Studios.
Smith & Wesson .44 Double Action Revolver
The intricately designed gun has been created by Tiffany and Co. I came across this beautiful piece of art on an art museum’s website and found myself absolutely in love with it. My primary intention was to achieve the highest possible level of resemblance.
The website provided me with enough references. However, I had to collect additional resources to better understand the mechanism and the overall dimensions.
For each individual piece, I used different methods. For simpler parts, I created the low-poly and high-poly in 3ds Max. On the other hand, for objects with more complexity, I used ZBrush and sculpted high-poly details.
It is crucial to determine which details one should be attentive to during the blockout stage. The planning should be done and maintained from the very beginning. Otherwise, one may spend valuable time on detailing parts that may not even be visible from a close distance.
For example, here, I had the intention of highlighting the bottom of the gun. Consequently, I emphasized this section by modeling in detail without affecting the silhouette.
Low-poly, high-poly, textured:
If planned properly, it doesn’t take too much effort to model these cylindrical details in detail. After modeling one-fourth of this zone, all I did was put a symmetry modifier on it.
For most of the parts, I made the low poly in max and polished it in ZBrush. Slight edge damage was added to most of the parts. Making the high-poly in ZBrush provided me with increased control, which helped me overall.
As an example, here's the high-poly workflow of the rear sight.
- Setting smoothing groups.
- In UV editor flattening by UV.
- Adding a Turbosmooth modifier to avoid faceting in ZBrush.
- Export to ZBrush.
- Auto groups with UV.
- DynaMesh Master and Polish by Feature to get uniform sharp edges. It also gets rid of faceting if there's any.
- Select group and Mask by Feature.
- Then Grow Mask, Sharp Mask, Grow Mask again, Mask Inverse, and Polish.
To add the small details on the high-poly, like some sort of pattern, I gave that detail area an individual cut. Here, I wanted to add a diamond pattern to the rear sight. Therefore, I gave this area a cut, then unwrapped it.
The area where the diamond pattern will be placed is in a separate group. First, I isolated that group and masked all the other faces except the face where the pattern was to be placed. Finally, I added noise with NoiseMaker.
For the barrel and cylinder, I went for a slightly different approach. First, I created ornamental masks in Photoshop. Then I used DragRect to mask the convex area. After masking, I went to deformation and inflated it. I also used the DamStandard brush to add more variation.
The body frame was the most challenging part. It took me a fair amount of time to find the right solution for it. It was extremely important to me to achieve a precise result. Hence, I created the low poly in 3ds Max. Then I fixed the geometry in such a way that it doesn't get stretched when I add a Turbosmooth modifier on top of it.
After the mesh was finalized, and the topology was decent, I transferred it to ZBrush and used ZRemesher to re-mesh the mesh. In this way, we achieved a cleaner mesh and thus, are ready for DynaMesh.
For the ornamental details:
- Modeled the bigger ornamental pieces in 3ds Max (The smaller details were sculpted in ZBrush) and added a bevel to the plane.
- Exported into ZBrush and merged them together.
- DynaMeshed in highest resolution (4096).
- Polish by Features to get sharp surface transitions (Since the ornamental pieces are in different groups).
- Started sculpting to add secondary and tertiary details.
- I used Sculptris Pro in a lot of places to get higher Geo count to make the details sharp.
I baked the Normal, AO, and ID in Marmoset Toolbag to adjust offset and fit it better. Curvature, Position, and World Space Normal were baked in Substance 3D Painter.
I used the Mask Builder and Dirt Generator as a base. To avoid the pixelated issue, I baked the Curvature, Position, and World Space Normal in Painter. As you know, SP's baked maps are 16-bit, but if you import 16-bit maps from Marmoset, it still gets compressed to 8-bit and shows pixelated results. I also baked it in an exploded way to avoid any unwanted occlusion details.
It was also baked it in an exploded way to avoid any unwanted occlusion details.
This is my absolute favorite part, which makes the model come to life.
Having good Height details in the high-poly version of this asset was a plus point. From then on, it was quite easy to mask the convex area with the Mask Builder. However, even after using the generator, there was still some unmasked area which was manually painted later.
Then, a Noise Mask was put on and the blending mode was set as "subtract" to create noise. This provided a good Height base.
Rough metal Texturing Timelapse
Gradually, I started adding metal base material, color variation, Roughness variation, grime, rust, scratches, etc. As for the texturing, I tried to mimic the reference as much as I could.
I followed the same method for the frame. The base mask was created with Mask Builder and later subtracted with a Noise Mask.
Frame Texturing Timelapse
Stock Texturing Timelapse
The stock’s material is ivory. After applying the base material and color variation, I applied different colors of dirt to match it with the reference.
For most of my render, I use Tomaco Studio's HDRI. I used 1 Keylight and 2 Fill Lights for these renders. For soft shadows, all I did was increase the diameter.
Storytelling is one of the key aspects to create quality game art. Hence, before starting the texturing, be sure to take time to look for solid references to create believable surfaces. In contrast to good modeling with average texture, an average model with a good texture might stand out.
It is crucial to study materials. For example, while texturing metal, try to get a good understanding of different aspects of metal, such as color variations, surface imperfections, weathering effects, etc. Having a good understanding of material’s specific characteristics such as oxidation, patina, or worn areas takes the texture to the next level.
Thank you for taking the time to read my article. I hope I was able to explain the whole process properly and hopefully you will benefit from it. If you have any query feel free to reach me through my email, LinkedIn or ArtStation.
You may find these articles interesting