Prop Breakdown

Klym Yatsenko


Klym Yatsenko

Weapons Artist


Hello, my name is Klym, and I am a 3D weapon artist from Ukraine.
I am currently 21 years old and have been doing 3D work for 3 years. I started with simple models made from YouTube tutorials, but now, I am fully focused on 3D weapon modeling.

It seems to me that lately, the quality of my work has improved.


I spent quite a while deciding which weapon to create.

My choice fell on this rifle because it has many flat shapes, which undoubtedly posed a challenge. Texturing items with many flat shapes is quite difficult.

It was a challenge I set for myself to improve my skills. I had a few main goals:

  • To complete my portfolio with good work.
  • Familiarize myself with Plasticity.
  • Practice realistic texturing of flat shapes.


The higher the quality, the more different software you need to learn. While working on this project, I used:

  • Blender (Low poly)
  • Plasticity (Blocking)
  • ZBrush (High poly)
  • RizomUV (UV)
  • Marmoset Toolbag (Bake, Render)
  • Substance Painter (Texturing)
  • Photoshop (Post-processing photo)
  • Pixyz (Low poly, high poly)
  • PureRef (References)


Searching for references is undoubtedly one of the most important stages. When searching for references, it’s important to ensure that the weapon is not an airsoft replica.

Airsoft references can closely resemble the original, but they may have subtle errors that are difficult to notice.

I recommend avoiding the most popular airsoft brands like “Airsoft Gun.” When searching for references, I look for individual parts of the weapon in auctions or disassembled items; in future stages, this helps to understand everything thoroughly.

Additionally, it’s beneficial to watch YouTube videos where they often review weapons and even disassemble them in detail.



If you’re fortunate enough to find blueprints or high-quality photos during the blocking stage, it will significantly speed up the process. However, if you don’t have blueprints, like I didn’t, I recommend searching for basic dimensions.

It might seem simple, but the most crucial aspects are knowing the caliber, the length of the weapon with and without the stock, and understanding what type of mounting system is used for accessories like Weaver or Picatinny rails.

At this stage, start small and work your way up to larger components. Typically, when modeling something like this, I begin with elements that have known dimensions available online.

Starting with modeling a cartridge or a Picatinny rail reduces the chances of making errors in proportions.

It’s always important to remember to think through all the details that will be animated.

Converting CAD Models to Polygons

After the CAD model has been made, it’s time to convert it to the mesh for high-poly modeling. While you can use the standard functionality of Plasticity, there are other programs that do this much better, such as Moi3D and Pixyz.

Through trial and error, I’ve found that Pixyz often provides a more polygonal variant with fewer issues. Below is a screenshot of the settings that work well for high-poly modeling.


High Poly

After converting the model to a high-poly mesh, I added bevels to the edges. This step is quite straightforward. I created a dense mesh model, added bevels, and then performed a cleanup.

It’s extremely important to observe the chamfers on references. For example, chamfers on metal will be sharper than those on plastic or rubber. You can also add different types of overall detail, such as chips, welds, plastic defects, etc.

At this stage, it’s crucial not to add the level of detail that can be achieved through textures. In this specific project, I added welds using ready-made brushes from one of the purchased sets.

Sometimes at this stage, it’s worth considering modifying certain details for subdivision. In this project, I did this with the barrel simply because it was the easiest option.

Low Poly

After that, it was time to create a low-poly model. Since this work is intended for my portfolio, I didn’t pay much attention to low-poly optimization.

The low-poly stage was done using the Pixyz program. Comparing Pixyz, Plasticity, Moi3D, and InstaLOD Studio, I would say Pixyz is the fastest and most accessible option for quick creation of low poly.

Pixyz produces a good enough grid to use, but I would like to point out that editing and modifying such a grid would be difficult. Nonetheless, this is the easiest way to create low poly for a portfolio with minimal optimization.

However, if you need geometry that will be easier to optimize for games, I would choose Moi3D. Moi3D provides a more customizable result with a high level of editing capabilities.

Custom Normals

Now let’s talk a little bit about transferring shading in Blender from one object to another.

Very often, on cylindrical parts with a large number of parts, the shading looks extremely bad. To transfer shading, I use the data transfer modifier.

Custom Normal Transfer Steps

  1. Create a mesh according to the shape of the mesh from which we will transfer the shading (the mesh should be as perfect as possible in terms of shading).
  2. Set all the hard edges.
  3. Create a vertex group with the area on which we will transfer the shading.
  4. Add a data transfer modifier with settings as shown in the screenshot (if there are several problem areas, repeat steps 1-4 for each separate part).
  5. Apply the data transfer modifier.
  6. Select adjacent areas where shading was transferred incorrectly, and reset the normals in this area (ALT+N + reset vectors).
  7. Make sure that everything looks correct.

Custom Normal Transfer Steps below:


Whenever you have this kind of geometry, you will have bad shading. Sometimes the modifier weight normal is enough to fix such shading, but sometimes you want more control.

For this, I use the custom normal function – set from face. Below is an example of how it works and how it looks:


I usually start by marking all seams. Then, I simply align what I’ve got in RizomUV. Since this work is intended for my portfolio, I didn’t pay much attention to UV optimization.

Mostly, I just aligned particularly curved shapes and packed individual details into different texture sets. I reduced UV islands that are hidden from view. The target texel density is approximately 90-100 tx/cm.

I created overlaps for almost all bolts and the front Picatinny rails.



At this stage, I bake all the necessary maps in Marmoset, for example, normal, curvature, AO, and position gradients. I bake all the maps in Marmoset.

I baked two versions of the AO map, one with group ignore enabled and one without ignore group.



Transitioning to texturing, I began to think about the best way to create all the layers for textures. After some thought, I came up with a small algorithm for building a material. Here’s what the base of the material (weapon) consists of:

  • Main color (diffuse), specularity, glossiness
  • 2-3 variations for diffuse for non-metals or 2-3 variations for specularity for metals
  • Several grains, both in positive and negative height
  • Defects that occur during material creation at the factory
  • Lines from the milling machine
  • Decals, height details

History Detailing

  • Gradients (from overheating, usage, sun exposure)
  • Dirt, dust, sand, spots, tiny hairs
  • Damage effects, scratches, metal processing effects
  • Decals, stickers, user marks (please avoid numbers on weapons)
  • Oil, lubricant, traces of worn-off oil
  • Scratches
  • Edge wear
  • Aging patina
  • Micro damage
  • Edges
  • Major damage

I also noted down my own issues that needed to be worked on. Two people provided feedback on my work regarding these issues. Tips for myself:

  • Retexture areas with generative damage on the edges
  • Avoid edge trace, and dilute damage with larger forms
  • Clearer detailing form
  • Improve the base material, and pay more attention to it
  • Forget about effects that add “volume” – ambient occlusion, curvature, UV border (effects on AO and curvature are very bad, and any lead will tell you that it is better not to abuse these effects)

I also add a sharpening effect on top of all layers.


At the rendering stage, I configured materials for the lens and transparent plastic. I adjusted the material of these parts and assigned them transmission settings as shown in the screenshot.

Below are images of the magazine & lens.


Camera settings are also crucial. I use a low field of view because it makes it much easier to showcase close-up shots and long objects. Approximate settings can be seen in the screenshot.

When setting up the camera, I usually tailor the settings individually for each camera depending on the lighting. I like to add a bit of clarity and midtones.

Adjusting these parameters slightly enhances detail. Additionally, I almost always set tone mapping to the ACES parameter. With it, metals look more interesting.

When adjusting the lighting, I use this HDRI for many renders: peppermint_powerplant_4k.


Post-Processing of Photos

After all the renders were finished, I moved on to their post-processing. The algorithm here is quite simple: I add a background (if the renders were without one) and crop out excessively empty areas.

Then, I use the Camera Raw filter, which is built into Photoshop. There, I adjust the settings according to my discretion. Typically, I delve into these tabs and customize them to my own sense of style.

There are no golden rules here. Do as your heart desires.


Image Processor

After all the manipulations with renders, it’s important to address their file size in megabytes. Since the most popular platform for uploading works is ArtStation, the site sets its own rules.

The most important rule is that photos should not exceed 10 MB, which can be challenging at high resolutions like 4K. The quickest way to convert all photos into an acceptable size range for the website is to use the Image Processor tool.

It allows you to convert all your photos from one format to another while maintaining an acceptable level of quality. You can find the script in the following menu path: File – Scripts – Image Processor.

Here, you can select the folder path containing the photos you want to convert, choose their format, and specify the destination path for saving them.



Thank you for reading this article to the end. I hope you learned a lot, or at the very least, found it interesting to learn about the tools and techniques I use.

Here is the author’s portfolio link. A special thanks to my friend Danil, who learned and explored similar tools and techniques with me: Danil’s portfolio.