Richard Lane did a breakdown of his Smith&Wesson 686 Revolver made with 3ds Max, SP, Toolbag & UE4: high to low poly baking, metal texture workflow, rendering.
My name is Richard Lane, I am a 20-year-old final year 3D Art student at Teesside University. I have been studying traditional art since I was young and made the transition to 3D when I was 18. Since making this change, for over 7 months I have worked at R8 Games LTD as a Jr 3D artist and worked on many other small projects alongside university.
Smith and Wesson 686 Revolver started a while ago as a side project and was put on the back burner while I was working full time over the summer. However, after seeing the stunning work of Kit Grande I knew it was possible to do what I wanted.
Images found on Google had limited use to me for the internals. My fear is that I would make the exact shape that I see for each part and find nothing fitting together. It was more than making what I see. I had to understand the gun and know what happens inside the gun when someone pulls the trigger. I spent the majority of my time researching documents explaining the gun parts and their function. This was the most useful thing I did for this project, not only because each internal part’s movement was dictated by its shape, but it also allowed me to hint at the parts’ movements with the textures.
With this being said, it is essential to gather an abundance of reference before taking on a photorealistic project. This, for me, was mainly in the form of disassembly videos and documentation. After watching 100 hours of American men with mustaches disassembling and reassembling the guns, as well as an image library of the materials, I felt confident in my understanding of the gun.
Everyone has their own process for making high to low poly bakes. My style developed into making the model mostly in mid poly, keeping in mind the details I want to add to the high poly, but not making it difficult for me to create the low poly. The main goal at this point was no unwanted deformation on the model when subdivided. This means it needed to be quaded. Tris will change the direction the polygons flow in and can cause errors. This does not matter as much on flat surfaces, however, and you will frequently see areas where I terminate geometry on flat surfaces in the high poly. Tris can also be used for the low poly as hard-surface objects very rarely get animated to deform.
I started by adding reference planes into my 3ds Max scene. This was mainly for the purpose of being able to keep to an accurate silhouette while modeling. Modeling for this project was an iterative process and it took me quite some time to get the parts accurate. I animated each part’s range of motion and scrubbed through the animation while modeling to make sure that the changes I made to each piece still allowed it to move without clipping.
Since I use the stacked turbosmooth method for the high poly, this meant I could periodically check if the mesh was smoothing correctly. This method allowed me to use smoothing groups alongside supporting geometry to create a more even distribution of polygons across the model. The second turbosmooth uses all this generated support geometry to soften the edges of the model evenly. This, however, does not work 100% of the time and requires tinkering with it to get the desired result.
Once I am happy with the high and low poly, I collapse the stacks and prepare them for export setting up the mesh names, adding _LP and _HP suffix according to whether they are low or high poly meshes.
I create custom alphas and height maps in Photoshop to use in ZBrush and Substance Painter with photo-sourced images of the gun and, in some cases, drawing over the top of the reference image. For the grip, I stamped it on in ZBrush as I wanted to have the information baked onto the model allowing me to have access to the curvature and ambient occlusion information.
Texturing is my favorite stage. You can tell a story with textures and can replicate any material you want. One thing to remember at this stage is that the object should be grounded in reality. Thinking of the purpose, how the user would fire the gun and how the parts interact with each other is essential.
TIP: It’s important to analyze the reference you have and inspect how the lighting is reacting off the materials. Make what you see, not what you want to see.
- Overlays: The first thing I do at the beginning of any texture is overlaying the generated curvature and ambient occlusion. Set the ambient occlusion to Overlay at around 50% opacity and the ambient occlusion set to Multiply at again around 50% opacity. This allows me to better see the baked information and provides a good base for texturing. This baked information can be used to assist in deriving a huge variety of effects.
- Base materials: I set up a dark albedo and use procedural noise details to introduce uniform color and roughness variation. For this particular metal, it meant adding a grain and distorted anisotropic noise and masking it out where it’s not needed. The goal here is to recreate what you see in the reference images.
- Edge detail: Since I opted for bare metal, I avoid using chips and edge scratches. I create a soft edge filter in the albedo to discolor the edges of the gun and help make the metals look worn and true to life.
TIP: Don’t be afraid of color. When it comes to making metals you want to use different values and colors like seen in reference images. Metals are rarely just grey.
- Dirt pass: This stage was a full pass of the gun. I added a paint layer to the black masks in Substance Painter, erased dirt, and added scratches. Visual storytelling is my key goal at this point: make every scratch have a purpose and a reason to be there.
- Tempering: Using a low value I introduce some colors to the edges, as you would see in a tempering process. This was especially prominent on the barrel. Though subtle, this is picked up in the reflectivity map in Marmoset nicely.
- Stamps: Using the alphas I made in Photoshop, I use a fill layer of height information and mask it out using a black mask. I stamp the alphas onto the model and tweak the values using a levels node. Using anchor points, I add the details to my dirt layer so the dirt is picked up by the height information.
After that, I export the final texture as a packed Unreal 4 texture in the export settings of Substance Painter. I tend to use this setting even when the asset is not intended for UE4.
When rendering in Marmoset Toolbag, I find it useful to go back to my reference and find the most eye-pleasing setup. Then, I try to replicate the lighting.
It’s important to know how your asset will look in Marmoset, as the Substance Painter viewport can be deceiving. This is why I will typically start putting my assets into the scene before finishing the textures. This allows me to tweak the materials and lighting setup to get the desired effect.
- Placing items: I tried to place the items into the scene in a realistic manner. What helped is Marmoset’s hierarchy system, which allowed me to animate the gun in the engine.
- Lighting Pass: My light pass typically consists of 1 key light, rim lights and a skylight to act as a fill. I also add secondary point lights to pick up on details that I want to be shown. I keep tweaking these until I get strong highlights and picking up the roughness details.
To achieve the moody renders I utilize fog within Marmoset set to black. I adjust the distance to a point where it softens the tones and creates a moody atmosphere.
My render settings:
- Camera Settings: Set the camera to ‘Filmic (Hejl)’. This allows for a better dynamic range and picks up on more details further away from the middle grey tone. This allows you to use more realistic values with your lighting and massively helps make the rendered images pop. You also want to keep your exposure around ‘1’. This is one of the most important things I can mention about creating realistic and eye-catching renders. These are the settings I use:
- Post Process: I do my post process pass in Photoshop using the high pass filter and overlaying it on a low opacity. I then use the sharpen filter in Photoshop to pick up on the micro details in the render.
This is just my workflow, and there are many ways to create and render the asset(s) I have produced. I’ve only been studying 3D art for a couple of years, so I’m sure there are many techniques and shortcuts that I am yet to learn. However, I hope this has been useful to everyone! I loved working on this project.
Thanks to 80.lv for giving me the opportunity to write an article!