Beretta PX4
Introduction
My name is Javid Shukurlu. I am a self-taught 3D Artist based in Azerbaijan.
My journey into 3D began at university, where curiosity led me to modeling vehicles and weapons. After graduating, I chose to turn this passion into a profession and have been creating assets for games for the past four years.
Project & Goals
In this article, I will share the technique I use to quickly generate high-poly models from low/mid-poly geometry. But why am I using this technique over others? Throughout my learning journey, I’ve experimented with different techniques and pipelines. Every workflow has its own pros and cons.
Some artists have shifted toward CAD modeling tools. CAD is extremely powerful, especially for creating weapons. I’ve also created many weapons using CAD software.
However, the reason I moved away from CAD is the lack of freedom on the mesh (especially for organic parts). For me, Sub-D modeling provides more control and flexibility over the model.
Also, cleaning up the model to create the low-poly version can be a time-consuming and tedious process when I get the mid-poly model from CAD software.
With this method, we don’t need to worry about perfect topology like in Sub-D modeling, but we can still create high-poly models as easily as in a CAD workflow.
Tools
- Autodesk Maya
- Blender
- Rizom UV
- ZBrush
- Marmoset Toolbag
- Substance Painter
References & Inspiration
Whenever I start a new project, I focus on three key aspects. First, the model (whether a weapon or a prop) must be visually striking and interesting.
Second, it should push the limits of my skills and challenge me to improve. And the last is the difference. Always trying to find something not in the market already.
Collecting references is a crucial part of the process. Never underestimate its importance, and avoid rushing into a project without gathering sufficient reference material first.
Blockout & Modelling
I begin the modeling process with a blockout. This helps establish accurate proportions and overall form. The next step is creating mid-poly.
At this stage, it’s important to keep the topology clean and well-organized (there’s no need for perfect topology like in Sub-D modeling), as this will make creating the high-poly version much easier.
Try to avoid n-gons; triangles are generally acceptable on flat surfaces. I perform these steps while working on the mid poly model, so it doesn’t feel like extra work.
Below are examples of good/acceptable mid-poly topology.
After ensuring the mid poly model is ready, we can begin preparing it for high poly creation. Don’t forget to duplicate the model, as we will also use the mid poly to create the low poly later.
I usually organize my folders as “_mid”, “_mid_high”, “_low”, and “_high”. We’ve already worked with the “mid” model — now it’s time to move to “mid_high”. This is the version prepared specifically for high poly modeling.
- In Maya, open the UV Editor and create Camera-Based UV for the model (I chose PX4 Slide as an example).
- Select all hard edges and cut them in the UV Editor using Shift + X.
- Select all UV islands, press Ctrl + U to Unfold, then Ctrl + L to Layout.
- Export the model to Blender (I created mid poly in Maya, if you use Blender for modeling, no need to export the model).
- In Blender, go to Edit Mode. Select all sharp edges using Shift + G (Select Similar → Sharpness).
- Press Shift + E to crease all hard/sharp edges.
- Add a Subdivision Surface modifier. Check the mesh carefully to ensure there are no artifacts. If everything looks correct, apply the modifier and export the model as .fbx file.
- Import the model into ZBrush. Go to Polygroup and select Auto Groups With UV.
- Press Shift + F to toggle PolyFrame mode on and check the mesh if UV islands are grouped correctly.
Go to Geometry → Dynamesh, and increase the resolution to approximately 5–8 million polygons.
- Then go to Deformation and use Polish By Features and Polish Crisp Edges (the values may vary depending on the model and polygon count).Make sure not to ruin the main shape of the model. At this stage, you can ignore “Auto Groups with UV” that we applied earlier and use “Polish by Features” instead.It will still work if you already have a dense mesh (5–8 million polygons), but it may not always produce the perfect results you want. By using only “Polish by Features” we don’t have enough control over the edge smoothness of the model.
- Decimate and export the model to Maya (Blender).
- In Maya (Blender), select the model and smooth all edges.
High poly model is ready!
Here are some other projects I created with this technique.
Now it’s time to create low poly from mid poly. To do this, we simply remove the support edges we previously added and merge the vertices. It’s a quick and straightforward process.
That’s it. Now we have a clean and perfectly smooth high poly and low poly model.
UV
For UV mapping and layout, I use RizomUV. I always try to keep all texture sets at the same texel density. For longer weapons, texel density variations are acceptable. (If the game has a third-person view, increase the texel density for parts that are closer to the player’s view).
We can also reduce the texel density for parts that are not visible to free up space in the UV island.
Baking
Marmoset Toolbag is the best choice for baking to me. Here is my setup for baking. My Beretta PX4 has moving parts, so I untick “Ignore Groups” in Ambient Occlusion settings.
Texturing
Before creating a scene in Substance Painter, I always make an exploded version of the model side by side. This helps me texture the parts separately. I always aim to make my weapons look realistic, while also ensuring they are visually appealing and artistically striking.
Here, it’s important to add touches from your own imagination and creativity without compromising the weapon’s realism.
Here is my texturing setup:
Conclusion
In this article, I wanted to share my personal technique with you. I hope you find at least something helpful that you can apply to your own workflow.
Please keep in mind that I’m not claiming this is the best way to create game assets — it’s simply the technique that works for me.
Thank you for reading! Special thanks to the Games Artist team for their support and for the opportunity to participate in this project.