Vikas Kumar showed how the Wine Corker project was created using subdivision modeling and described the texturing process in Substance 3D Painter.
Hi Everyone, I’m Vikas Kumar. I am from New Delhi, India. I’m a freelance 3D artist at Dekogon. It’s been 5 years since I began my professional career in this field. I have been passionate about arts like sketching and paintings and loved to play video games since my childhood.
I didn’t know what I wanted to do after high school, I scored badly in a lot of my subjects because I was not interested in studying. I decided to pursue a Bachelor’s degree in Animation. In the meantime, I realized that the course was not worth paying for, so I dropped out to continue the course ahead and started learning from the internet. Pluralsight was the place for online education where I learned a lot about 3D asset creation, I also watched tutorials on YouTube.
In this breakdown, I will show you my workflow for the Wine Corker project.
The Wine Corker Project
In my free time, I always try to dedicate many hours to the creation of my personal projects trying to improve my skills and learn new workflows. Generally, when I start a new project, it is because I want to do a specific study on a specific aspect of 3D real-time graphics. I decided to look for the best way to make it work in a realistic style, trying to remain fairly faithful to the original concept.
In this work, I wanted to showcase my texturing and modeling skills and what I have learned so far.
I usually give 30 minutes to searching for good references on Pinterest. Pinterest is an amazing site where you can find plenty of references, inspirational images, and a lot more.
For collecting and organizing references in one place, I use PureRef. It is very easy for collecting inspiration and references from the internet. Simply drag and drop the images into the canvas of PureRef. It’s very convenient to use. I would recommend you download PureRef, it will kickstart your projects.
As I was working with realistic images, I needed to understand and visualize what this asset would look like in the real world. I started by collecting individual references.
For the blockout, I always import a human model into the modeling package before moving forward to understand the scale and proportions. A good blockout will allow you to continue on the high poly without too much trouble. During the blockout stage, I always try to have the main shapes while maintaining a very low poly mesh. This process will give me the possibility to make changes very quickly.
For the modeling, I start all my projects mainly with blockout. I use a mid poly to create high and low poly models. Through my past experience, I learned that while creating assets, high poly is usually made first and then low poly. In subdivision modeling, you need to start with an extremely low poly count and then insert the supporting edges where needed. Keep switching to smooth preview to check whether it needs more supporting edges to hold the mesh. I followed the same technique everywhere throughout this project. I like subdivision modeling a lot, I use it for everything in this prop, but I am sure in ZBrush it could be done easier.
Once I was happy with the subdivision, I exported the mesh out to ZBrush. Then I subdivided it 2 or 3 times until I got sufficient mesh to sculpt. I always store Morph Target and keep layers on before sculpting. It gives you the power to control the geometry beforehand or afterward.
To be honest, I didn’t do a lot of ZBrush passes for this asset since it’s been made in Maya completely. I imported the model into the Zbrush for the touchup and to polish the work a bit. I used a TrimDynamic brush for the edge damage and some metal surface for this asset. Here is the link for the metal surface brushes I used in this asset.
Once I finished detailing with high poly, I used the Decimation Master within ZBrush to create lighter versions of the various meshes so I didn’t have to work with millions of polygon pieces in Maya.
In this asset, I didn’t need to decimate high poly to make low poly. I simply just used the mid poly version to create low poly by deleting unnecessary edge loops from the mesh, which were not giving any support to the model. I tried to keep the polycount as sufficient as possible to maintain the silhouette.
UV and Baking
For this, I wanted to make sure the texel density was consistent. To maximize texture detail, I used a 4k texture sheet. The geometry wasn’t too complex, so the UV process was fairly straightforward. After unwrapping, I laid out the UV shells. This is what I ended up with:
For baking, I decided to go with Marmoset Toolbag because it offers additional features such as cage adjustment, offset, and skew painting. To avoid projection issues, I always keep the naming for each mesh the same followed by suffixes _low and _high. It automatically detects the mesh for high poly and low poly through the naming convention. Before, we used the exploding mesh technique, which made separating the meshes from each other very painful. Nowadays, Marmoset Toolbag and Substance 3D Painter enabled the features of the naming convention, which make your workload lighter in terms of baking. If you want to know the baking setup in Marmoset Toolbag, here is a small tutorial. After baking all the maps, I jumped to the texturing stage.
For the texturing, I used Substance 3D Painter. I always tweak display settings in Substance before starting to do textures. Here is a small glimpse of what it looks like with the ACES_Standard turned on and off.
I will show you the display setting to enable the ACES_Standard.
- Go to the Display Settings and in the Environment Map change the map from Panorama to Studio Tomoco
- Activate the Post Effects, in the Tone Mapping setting go to the Function tab, and change the function from Linear to Log.
- And the last, go to the Activate Color Profile and activate the ACES_Standard_Log.
Once the display setting was set up, I started with base metal for this asset. I already had some smart materials made for the previous projects, so I used them as a base. I changed and modified the colors and roughness, added dirt, rust, and damage and aged them. During the whole texturing process, I usually look at the roughness channels of my materials. The Roughness map is very important in realistic 3D modeling because in the roughness channels you can add a lot of wear and tear information that can be seen in your final asset to achieve a more realistic look once the model is rendered.
Lighting and Rendering
After exporting textures out of Substance 3D Painter, I import my model into a new scene in Marmoset Toolbag and set up the material. For this project, I use the Studio Tomoco HDRI. I set its brightness to a low value and its Child-Light Brightness to a pretty high one. Then I start adding lights. After that, I make some changes to the camera settings. I used ACES tone mapping and played with saturation, exposure, and sharpness a bit. Here is the viewport of my render-ready shot.
Here are the settings I applied for this asset to render in Marmoset Toolbag.
To sum up, always take feedback throughout your whole project. There are lots of things you simply won’t see even after looking at your model for a long time. Good feedback is the best way to grow and enhance your skills. Making something look and feel realistic can be a challenging task at first, but once you have patience, a set of good references, and a good eye for shape, proportions, color, and details, it’s not so difficult. Keep up the amazing work!
Thank you, 80 Level and Theodore McKenzie, for giving me this opportunity. Thanks for reading this far. If you have any questions, feel free to contact me on Artstation.
Vikas Kumar, 3D Artist
Interview conducted by Theodore McKenzie
You may find these articles interesting