Tactical Sport Bag

Prop Breakdown

Volodymyr Iliukhin


Volodymyr Iliukhin

3D Artist


Hi there! I'm Volodymyr Iliukhin, a 3D Artist from Ukraine. Recently, I started a new position as a 3D Artist at Volmi – A Virtuos Studio.


I want to thank my mentor, Roman Misiak, for his invaluable feedback, which greatly contributed to my growth.

The main focus of this article will be on the texturing process, with a particular emphasis on fabrics.
For a painting tutorial, refer to the following link and utilize a translator for the Ukrainian language.


My primary goal was to enhance my skills in creating assets made of fabrics and to learn Marvelous Designer.

Through this project, I also gained experience in sculpting smashed plastic on a bottle, sculpting the bag, working with fabrics and stains, and creating damage. But let’s proceed systematically.


  • PureRef – for references
  • Blender – for retopology, blank fillers for inner parts of the bag, bottle blockout, and creating baking setups
  • Marvelous Designer – for creating and simulating the bag
  • ZBrush – for creating high poly models, detailing, creating damage, and sculpting the bottle
  • RizomUV – for UV mapping
  • Marmoset Toolbag 4 – for renders and baking
  • Substance 3D Painter – for texturing


First of all, we start by gathering references. I began with collecting modeling references such as the bag itself, the bottle, the furniture, and so on. Gathering references is a crucial aspect of the work, as it influences the results you’ll achieve.

Therefore, the more references you gather, the more interesting elements you can incorporate into your work. When discussing the bag, I conducted research on the topic, seeking sewing patterns and watching making-of videos.

After understanding these processes, I started reverse-engineering in my mind, leading to the creation of a scheme of needed patterns that could be used in Marvelous Designer to create the bag.


A very important aspect is to find common elements that can help us determine the sizes and dimensions of objects, which serve as a starting point for our work. In my case, I gathered information about the size of similar bags and bottles.

Additionally, it was beneficial to find details about similar bags, including the width of the straps, as they are often standardized. This principle applies to Fastex, zippers, pullers, and other components of clothing and accessories.

In my project, I determined that straps 40mm wide for larger straps and 20mm for smaller ones would be suitable. All the components were modeled based on blueprints of real objects.



When all sizes were determined, I created a bottle blockout and modeled some round-shaped “boxes” to fill the emptiness inside the bag.

This allowed me to work and create the bag around these shapes, serving as my guide.



In Marvelous Designer, I used my blanks as avatars and began creating patterns, wrapping them around the blanks, and sewing them up.

There are plenty of guides and tutorials on YouTube, so learning Marvelous Designer was challenging, but it became a very cool software for me, which I enjoyed working with.

After finalizing the model, you could create UVs for the patterns, remesh them directly in Marvelous Designer to achieve a quad mesh, and then we are ready to export the THIN mesh and move to ZBrush.



In ZBrush, I needed to create a high-poly model of the bottle, so here are some tips: don’t forget that we are recreating reality, so there was a very simple step. I went to my fridge, took a pretty old expired bottle of Teriyaki Sauce, hit it with my hand, and took photos of it, which gave me really cool references.

After all of that, you just really need to look at your references, analyze them, analyze these dents, how they work.

After all of that, I created a really cool smashed Plastic Bottle with only default brushes like trims, dam standard, standard, move, etc, so I can move to bag sculpt.


Bag Details

In ZBrush, I added thickness to thin geometry, fixed all problems with geometry and moved all parts from one to another, to get a clean, complete look.

At this stage, I understood that all my straps on the LowPoly stage I would unwrap as rectangles, so it’s very important to understand because it lets us create fabric texture on the texturing stage, not on HighPoly because on the HighPoly stage, it would need millions of polygons to recreate this texture, which would reduce our performance.

Also, this method allows us to achieve more control over texture and can adjust it directly on the Texturing Stage with no need to fix it later back on HighPoly and no need to rebake it.

Also, in ZBrush, I created damage on fabrics, ripped holes and created stitches by using default brushes from LightBox. Zip was created also by using the default brush; pullers, ropes, and Trident were modeled in Blender.



After this stage, I performed retopology on my model, ensuring it was well-optimized, and then unwrapped it using RizomUV. A crucial step to avoid issues in future stages is to triangulate your model before baking.

If the model is triangulated differently during the baking stage, the resulting normal map may not work correctly. Before baking, I devised an intriguing “baking setup” wherein I separated some parts into low-poly versions.

Cutting out certain parts along sharp edges, which doesn’t affect shading, ensures that our maps will function properly in the future. To ensure everything proceeded smoothly, I incorporated a complete low-poly model to inspect the results.


Why did I need this setup?

It’s simple – there were some artifacts during baking because the cage of certain elements produced incorrect information.

Adjusting the cage size didn’t rectify the issue, prompting me to utilize a straightforward yet effective baking setup, which ultimately led to a clean and impressive bake.



Here comes the Texturing Part. Achieving a realistic look, as I mentioned earlier, requires a wealth of interesting references.

Just like with the bottle, you can gather references from the internet or create them yourself, as I did. I simply grabbed my waist bag, took photos of it from different angles, and incorporated them into my work.


For SubstancePainter, I created an FBX with two similar bags, aiming to streamline my texturing process.

This allowed me to view the bag from various angles, both lying and standing. I’ll now describe the main process of creating fabrics and offer some tips. First and foremost, in the Base, I applied slightly different colors to different patterns to enhance the effect of realism.

Even brand-new items exhibit slight variations in tones and shades.

The next crucial step in my method involves creating highly detailed information on normal and height maps. I organized these elements into a folder, including texture patterns of the base fabric, torn threads, clumps, etc.

Only the Height info was enabled, with all other channels disabled. I strategically placed anchor points on some layers to facilitate precise manipulation.

The final touch involved anchoring the folder so that I could utilize this height information in the future, leveraging generators such as AO, Curvature, and activating MicroHeight mode by placing anchors in these input slots.


Like in the case of sculpting a bottle, you need to analyze references and look for different details that you could implement on textures.
These could include stains, bleached and rubbed parts of fabrics, greased areas, dust, etc.

So, the main key is to gather a lot of references and analyze them to be able to implement some interesting and cool-looking details in your work.



After finishing the textures, I started to do renders. I decided to use Marmoset Toolbag because it totally meets my requirements for this stage, and I am totally pleased with the results I could achieve with it. I began by creating the scene.

For it, I created a ground surface and added some stones, plants, mushrooms, and blueberries to connect my environment with the lore of the bag.

For this role, you can use any scans you find; there are plenty of them on the Internet. To achieve some interesting accents in the image, I decided to cover the scene with trees so they could cast shadows on the bag, and it also gave me interesting light spots on the surface from the sun’s rays.

Additionally, I used the Depth of Field (DoF) effect on the camera to achieve more depth in the shot.


Post Processing

To have more flexibility in the PostFX stage, I used the ACES color profile and rendered 16-bit PSD images, allowing me to save a lot of information in my pixels and retrieve it from the shadows.

For example, I could adjust levels in Photoshop.

During the PostFX stage, I fine-tuned my images using levels, curves, and masks to lighten or darken specific areas in the renders. Additionally, I added effects such as Lens Flare to give it a more cinematic look.



In conclusion, I would say that the most important parts of this work were:

  1. Starting with good modeling references.
  2. Finding as many unified dimensions and sizes from real life as possible.
  3. Creating detailed fabric texture information to provide a strong base and variations for further texturing—it’s a crucial aspect of texturing.
  4. Gathering as many references as possible, properly analyzing them, reverse engineering them, and understanding how things work in real life.
  5. Paying attention to the presentation of your work, as it can significantly enhance or detract from the quality of your textures.
  6. Last but not least, think outside the box.