Hi, my name is Eugene Petrov and I’m a Weapon Artist at Ulysses Graphics. In this breakdown article, I’ll cover my methods for creating and rendering first person view weapons while using my latest AR15 project as an example. The idea behind this project was to create a modern looking civilian rifle, but heavily worn as if it was used more like a military weapon.


The first task is to gather as much reference as possible. I usually create two reference boards; one for modeling and one for texturing. Studying the mechanics of the gun you’re going to create is essential. My modeling process involves Maya and Zbrush. I use Zbrush’s Live Boolean system to create a high poly model. My Maya scene serves as a repository for the complex boolean models that will be exported and imported into a clean Zbrush scene.

As soon as I’m done blocking out my boolean shapes, I collapse the scene, Dynamesh all of the objects, and polish them for nice smooth bevels. I usually have two Zbrush scenes for my highpoly workflow; one containing my live boolean meshes, and another with collapsed and dynameshed meshes. This allows me to have full control over my high poly in case I need to redo or add something.

Afterwards, I export all of my final high poly meshes into a new Maya scene and soften the mesh normals (Mesh Display > Soften Edge). The high poly is now ready for baking, but I’ll need to create the low poly version first. I use the existing boolean meshes to create my low poly models in Maya. After unwrapping the low poly meshes, we’re ready for the baking stage.


A good way to prepare for baking in Toolbag is to organize your Maya scene before exporting the meshes. Above is an example of my scene right before exporting. All of the low poly meshes are triangulated and named according to their high poly counterparts, with the proper *_low and *_high suffixes. I select all of the meshes and export them as .fbx. They’re now ready to be imported in Toolbag.

I use the Quick Loader to import my meshes. Depending on the naming conventions, the Quick Loader analyzes which meshes are high poly and which are low poly, then assigns them to their respective Bake Groups. Each Bake Group ignores other Groups during the baking process. This means you don’t need explode your meshes to avoid intersection errors. At this point, I set the Output settings for my maps and hit Bake. I usually start by baking my Normal maps, as they are really fast to bake in Toolbag and you can see the results instantaneously. Another cool aspect of the Baker is that it will take into account any hidden high poly meshes in the scene, so I can hide the high poly meshes and easily see the results on the low.

After the first bake pass, I isolate each group and check the low poly meshes for any baking or skewing errors. Skewing errors are really easy to fix with the Paint Skew feature. However, mistakes are inevitable while working with complex assets, and sometimes you will have to go back to the low poly model to fix hard/soft edges or unwrap issues. The great thing about Toolbag is that it automatically re-imports any updated files, so you don’t have to manually re-import your updated models. For this reason, Toolbag’s baker is the fastest and easiest baker for my workflow.

When I’m done fixing errors, I can bake my AO maps. I’ll only use Toolbag to bake my Normal, AO, and (if needed) ID maps. The rest are baked in Substance Painter, using the base maps that were generated in Toolbag.


I use Substance Painter for my texturing process, and as I mentioned previously, it’s extremely important to find good reference images. To achieve a unique result, I avoid using other artists’ 3D work as my reference. Real life photos are the best. This way, you will come up with your own techniques and generate unique results based off of real life reference.

After collecting reference, I try to spot unique marks or smaller details that I’d like to recreate on my model, and sometimes exaggerate these aspects. Usually I start from a blank layer and manually build up the base material. When I’m done, I try to add as many unique details and hand painted features as possible. This process can last forever.

For this project, I wanted to create hands to hold the rifle and present them in a first person perspective. I use Zbrush and Marvelous Designer to create hands, texture them in Substance Painter, then pose them in ZBrush.

Scene Setup and Lighting

Once all of the meshes are baked and textured, it’s time to render the final images. This is a very important stage, as poorly made renders can significantly take away from your hard work. When it comes to setting up a scene in Toolbag, I tend to store all parts of the scene in Groups, and each Group is tailored for a specific shot. The placement of the gun, lights, and camera angles can be saved so I can return to each shot at any time.

The image above shows my Groups for every shot (1) as well as my camera settings (2). There are two types of cameras that I use. The first mimics a portrait style lens with a Field of View value between 20-30 degrees. The narrow Field of View creates more of an orthogonal view, which gives a monumental look to the asset. For Post Effects, I usually add some Sharpness, Contrast and Grain. I increase Saturation and edit my Curves (these values vary from shot to shot). I also apply a tiny bit of Chromatic Aberration, which can be added in Toolbag, but I tend to add this effect at the end in Photoshop.

The second camera uses a first person perspective. It has a Field Of View value between 30 to 55 degrees, which gives the impression of a wide angle lens and simulates a first person view. All other adjustments for this camera are pretty much the same. I always make sure to turn on Safe Frame for all cameras to be sure my model is completely in frame for the final render.

I create a classic three point lighting setup for each shot. I use the Sky as a Fill light, a big Spot Light as a key light, and any type of light for a fancy rim light. After that, I add more lights depending on the areas I feel need to be highlighted. This is the creative part and will vary based on personal taste. It’s good to take some time here to experiment and develop your own style.

The image above displays the location of my lights in the scene.

To make the materials pop, I use a Height map with the Parallax Surface model, which creates a really cool sense of depth.

Before capturing the renders, I enable Global Illumination, Local Reflections and set the Shadow Resolution to the highest setting. I turn on Mip Correction in Capture settings so that my textures look crisp from any distance. After I’m happy with the result, I capture the final images and then export them to Photoshop for slight adjustments including Brightness/Contrast, chromatic aberration, noise, and adding a simple background.

That’s it! Thank you for reading and huge thanks to Marmoset for letting me write this article.

We would like to thank Eugene Petrov for writing this breakdown article. You can check out more of Eugene’s work on Artstation. Bake and capture your own first person weapon renders using the 30-day trial of Toolbag. If you’re interested in collaborating on a tutorial or breakdown article, please send us your pitch, along with a link to your artwork, to