Salavat Karimov shares with us a detailed breakdown of creating this metal bottle, from modeling to texturing and rendering, explaining how the effect of worn leather with realistic, rough cracks and scratches has been achieved.
Introduction
Hello everyone, my name is Salavat Karimov, and I am 22 years old. I am from Russia, living in the city of Ulyanovsk. I've been involved in 3D for relatively not long, soon to be two years. Since childhood, I have enjoyed fantasizing, drawing, and creating my own characters and their weapons. I wanted to learn how to draw, but somehow, it didn't work out, and I forgot about it. After many years, I stumbled upon a group on social media where people shared their portfolios, and later, after discovering ArtStation, I was inspired by many beautiful works and decided to try my hand at this field.
Another big plus for me in this activity is that it offers the opportunity to travel the world and work from different countries. Throughout this time, by watching educational videos, I learned from my mistakes, experimenting, and trying something new. Recently, I have been improving my skills with the help of the talented 3D Artist Muhammad Abduhalilov. To my great regret, I have not yet had the chance to work on any projects, so I am open to offers.
About the Bottle Pajama Project
The primary goal was to create something unusual to attract attention on ArtStation, so I selected the first reference from which everything started. In the future, I plan to find additional references to create good, interesting textures.
Modeling
For 3D modeling, I use Blender. I usually start from simple to complex. The first step was making a bottle. After that, I copied the base and slightly moved it, applying the Solidify modifier to create pajamas. I also created the straps holding the pajamas on the bottle in the same way.
For the fasteners, I created primitive squares, applying subdivisions to achieve the desired rounding. I also applied subdivision at 1 iteration for the main skin to create bulging folds under the straps as if they were compressing it. After that, I cleaned the geometry of the low poly to an acceptable state. Later, in ZBrush, I added some detailing to the folds of the skin on the pajamas and the straps. I also created the effect of thick, cut skin by creating the appearance of a double layer, masking it, and adding a noise effect. To save time, I decided to skip the retopology of the high poly after ZBrush in favor of regular subdivision modeling.
I cleaned the mesh after applying subdivision in Blender, trying not to overly optimize some elements so that the transitions remained smooth and looked beautiful. The overall optimization resulted in about 24,000 triangles. The UV unwrapping also took place in Blender using add-ons for UV unwrapping, UVPackMaster, and UV Toolkit.
The model was divided into two UV sets: one for the leather elements and another for the metal elements. Each UV set was packed at a resolution of 4K. To save space in the UVs, I deleted polygons in invisible areas; for example, between the bottle and the skin, polygons are not visible, thus saving some UV space and reducing the polycount. Then, the high poly was baked onto the low poly using Marmoset Toolbag 4. Here, I baked the Normal map, Ambient Occlusion, Curvature, World Space Normal, Thickness, and ID map for seams. I bake the Position in Substance 3D Painter, as sometimes there are issues with it in Marmoset. Occasionally, I fix artifacts in Photoshop, but this time, it wasn't necessary.
Texturing
Texturing began with me downloading a leather texture from Textures.com. After making it seamless in Photoshop, I put it into the first fill layer, making it the base and slightly editing its saturation and color. After that, I added color and roughness variations and incorporated folds through normal maps using the texture. From the first main reference, I liked the scratches; they seemed interesting and gave the effect of worn leather, and I tried to transfer them to my work.
The metal base was created from a smart material I edited to save time, breaking the material into three parts to give them slight differences in color and roughness (the bottle, the carabiners with fasteners, and the ring attaching to the strap). I then added layers of drips for the bottle, dirt, and scratches, maintaining balance; the main thing is not to overdo it. During the texturing process, I frequently used Quixel Megascan, applying many interesting textures in good quality.
Moving on to the straps, after creating the base, I added folds using the normal map with the Creases Soft texture. With a brush, I removed folds in unnecessary places and softened them with a blur filter. Next, I added dark areas using Curvature, highlighting the edges of the straps. Creating a fill layer with negative height, I made the color yellowish and, using various crack brushes from the Substance 3D Painter library, recreated the effect of folds.
I'd like to specifically talk about the strap with the word "Gross." I wanted to add some text to the model, so I took another element from the original reference. After exporting the UV layout to PNG and loading it into Photoshop to better align it with the polygons, I selected a somewhat similar font and uploaded it as a texture in Substance 3D Painter, applying it through a mask in the fill layer and slightly embossing it using height.
I also want to show how I created such rough cracks on the skin. I created a layer with a mask and applied the MRZ_500_cracks_06 texture, editing it with a brush. I added an anchor point to create the effect of skin bulging later. In real life, when cracks appear, the skin compresses and stretches, creating bulges. I create a fill layer, increasing the height channel, referencing the previous layer through the anchor point in the mask, inverting it using levels, and adding a high-pass filter, which creates variability in the mask. I add another level, invert it again, and to smooth it out, I apply a blur filter. Finally, when the textures are ready, I apply a sharpen filter to the entire model to enhance the clarity of the textures.
Rendering
Rendering is my favorite part, an endless variety of actions, a true flight of fantasy for recreating different ideas. For rendering, I use Marmoset Toolbag 4 with ray tracing enabled, which provides realistic shadows. During the rendering stage, I experimented with many HDRIs and used 3D assets from the Quixel Megascans library. I didn't add many light sources, as for realism, HDRI and a Spot Light are sufficient without disrupting it.
Then, in Photoshop for compositing, I slightly edit the Raw Filter — contrast, saturation, and sometimes temperature. I enhance clarity and increase the texture parameter. For the first render, I add a black-and-white filter. After downloading various texture photos with noise from the internet, I overlay them on the first layer and change their blending mode. This way, I created the effect of a worn, old photograph.
Summary
First and foremost, I believe that to create a beautiful prop, one must seriously approach the selection of references. It is very important to experiment, try, and learn from this. As I am still a novice, I consider myself not sufficiently competent to give advice; I can only say not to stop and strive to achieve your goals. The industry is currently not an easy time for those of us just starting our journey and trying to find work, but if we are serious about our intentions and see it through to the end, we will all succeed.
I want to express my immense gratitude to those who read this to the end and, of course, to Gloria Levine from 80 Level for the opportunity to share my project, Bottle Pajama.