I wanted to look for a model that was challenging and would motivate me to improve my skills.
Finally, I opted for the AKS Maximov from Agré, which is an incredible model and, from my point of view, difficult to make due to the amount of detail it has. I found the reference collection very easy to gather since I had the model made by Agré on Artstation.
However, I also looked for real references to the AKS and documented how this weapon works.
- PureRef – References
- 3Ds Max – Blockout, Midpoly, and Lowpoly
- Zbrush – Highpoly
- Rizom – UVs and packing
- Substance Painter – Textures
- Marmoset – Baking and rendering
Blockout and Midpoly
I start by modeling all the pieces of the model in a very basic way, making sure that the proportions are correct, in simple and non-destructive shapes so that I can easily modify them.
Once I make sure the model is in the correct proportions, I define the pieces little by little. I usually like to add a bit of detail to one piece and then move on to another to do the same, so I can always see the overall model and have the same level of detail.
I usually work with Booleans in 3Ds Max since it seems to be the fastest and simplest way to work, as it does not require a good topology to complete your model. With the new Booleans in 3ds max 2024, it is less destructive and more stable.
I continue defining pieces until I get a Midpoly that I can take to ZB to create a high poly. In this phase, I try to achieve a good shader by adding the smooth groups correctly and using more quads than normal in curved areas to make it easier to smooth once brought to ZB.
I recommend working with a highly specular material to be able to see possible imperfections.
The most important thing is to achieve a good level of smoothness on the edges for baking and a good surface without artifacts or pinching.
The edges of real weapons are very sharp, but we can’t replicate them exactly as it would give us problems in the baking process. However, we also can’t smooth the edges too much, as it might look unrealistic.
The level of smoothness at the edges will depend on whether the model is intended for a 1P or 3P game or for a close-up render. The further away the model will be seen, the less smoothness it should have.
To create the highpoly, I typically use two methods: MaskPolish or CreasePG_Polish if the piece is very thin.
I help myself with masking or the Morpher to achieve the best results.
In this part, I use my previous midpoly to create a lowpoly, optimizing the mesh. I recommend importing the model into Marmoset or the graphics engine to ensure it doesn’t look faceted and to achieve the best optimization.
The next step is to ensure that the smoothing groups and shading are correct. I recommend using the Weighted Normals plugin in specific areas to resolve shading problems and generate a good normal map without gradients.
UVs and Baking
For the phase of opening UVs and packing, I usually use 3D Max and Rizom, using the Bridge, which facilitates the transfer of files between the two programs. Once all the pieces are unwrapped, I start to separate the model into different IDs, considering which pieces could be modular, such as the stock, magazine, barrel, light, optic, etc.
I ensure that all the IDs have the same texel density. To achieve this, I may need to mirror the weapon, duplicate faces, and use rectangular textures. In the end, I achieve a texel density of 60-70 using 2k and 1k textures.
In this model, I decided to texture it using UDIMs for the body base, as it allows me to texture the entire model at once without changing IDs in Substance.
I recommend a series of videos to learn more about UDIMs:
Before starting texturing, I recommend creating a scene in Marmoset with the same lighting as in Substance Painter to ensure that the final result of our textures is what we are looking for. The configuration I used in Substance Painter was as follows:
My intention was to give the model a bold and attractive texture, moving away from the common black-coated weapons while still maintaining a realistic look. I spent several days experimenting with different color combinations in Substance, and working with UDIMs allowed me to try various combinations.
Finally, I decided to use green with copper brown, add some pieces with red details, and others with black and silver. The key is to ensure that all the pieces of the weapon are perfectly distinguishable, so it’s essential that no pieces have very similar textures, providing a better reading of the model.
To achieve this, I used various types of materials throughout the model. I had to be careful to strike a balance due to the variety of materials and colors. I often checked the base color in Substance Painter to ensure that I could read all the pieces correctly and that the colors were well-balanced with each other.
In my opinion, adding red details to a weapon turned out great, although I had to be cautious because it is a very striking color, and it’s the first thing people will notice when they see your model.
Adding too much detail with this color can make the model difficult to read.
At this point, I started looking for texture references to assist me with the texturing, collecting real references for the best possible texture quality and rendered references to visualize the final look and feel.
When defining the materials, I aimed to make the weapon look like it had been well-used but well-maintained.
When I textured it, I followed this order:
I created a folder for the height details of the weapon, such as engravings or markings, so I could later anchor them using Anchor Points.
Next, I defined the base materials as if they came from the factory, ensuring that I had the correct roughness and metallic values.
One thing I learned from this model is that if you want to achieve a good coating texture on weapons, you can’t treat this texture like paint, as it serves to protect the weapon from oxidation.
So, you should never set the metallic value to 0 or add height to it. This treatment makes the weapon look less metallic but won’t make it completely non-metallic; the metallic value should be relatively low.
For more information, I recommend reading this amazing article by Howel Ganuchaud `The Guide for Modern Gun Texturing´.
At this point, I started to add more detail to the materials, with different variations of color and roughness, gradually making the model look more interesting.
In this last phase, I began to add specific details to the weapon that would give it a story. I started to add details by hand, such as scratches, coat defects, dirt, scuffs, dust, excess oil, etc.
This type of detail will make your model look unique and stand out from the rest. For this phase, I usually use stencils created by me, and I recommend the Textures.com website to create them.
With stencils, I begin to add roughness detail, such as grease, wear, etc. Then, I add scratches to the most exposed areas of the weapon that remove the coating. Finally, I add dirt in specific places or in general areas where it usually accumulates.
My intention, as I said at the beginning, was to create a striking model while maintaining a realistic appearance. I am aware that many details of roughness or scratches are not 100% realistic, but sometimes achieving a 100% realistic texture can be boring.
So it’s essential to find a balance between the artistic and the realistic. Many scratches or roughness variations are exaggerated to create points of interest between different parts and to prevent any part of the weapon from looking dull.
Lights and Renders
My intention was for the renders to resemble Ryzin’s because they look very spectacular and elegant.
My scene in Marmoset was relatively simple; I added a white background with values of 0 in roughness and metallic.
The HDRI I used was the same as in Substance Painter (SIMPLE LIGHT-G) with a very soft overall light. Then I added an additional skylight to cast a strong shadow and create more volume.
I also recommend reducing the Field of View, as having it too high can make the model appear disproportionate.
Finally, I changed the Tone Mapping to ACES to generate more contrast between lights and shadows.
When lighting the model, I put a lot of effort into achieving a good understanding of all the pieces and generating contrasts of light and shadow throughout the model.
It’s essential to have different shades of light throughout the model to add volume to the image and make it more interesting. I recommend the following tutorial by Alex Senechal if you want to learn more about lighting and rendering:
Finally, I recommend removing the Denoise feature from Marmoset, as it can misinterpret our micro-detail with noise and could erase it. On the other hand, adding some noise to our render will make it look more realistic.
Thanks for reading I hope I could add something to your workflow!