3D Prop Artist Diego Torres Ortiz showed us the working process behind the Wardrobe of the Arcane Perfumist project, with low polys made in 3ds Max, high polys in ZBrush, hand-painted touches realized on Substance Painter, and final render in Unreal Engine 5.
Hey everyone, my name is Diego Torres you can also find me as Zafiku on social media. I’m a Spanish 3D Prop and Environment Artist from the south of Spain, Andalucía. Studying right now in Belgium the grade of Game Graphics Production at Howest: Digital Arts and Entertainment. I’m currently looking for an internship to finish my studies and start putting my first step into the industry.
I grew up playing games, drawing, and modeling in clay all those Pokemon and Digimon I wanted to play with, but as a kid with a small bedroom, I wasn’t able to buy all of them for obvious reasons, so the world of entertainment and the digital arts was a perfect place for me. I have been working on several personal projects since then, applying all the knowledge I can collect from my studies, friends, and my own research.
Keeping it simple and effective is the key to my workflow, I will show you today briefly the breakdown of my last project, the Wardrobe of the Arcane Perfumist.
I want to mention the remarkable work of Maeve Broadbin, as the Concept Artist of the wardrobe and all the props around it. I was looking for some kind of old wood complex prop related to magic and fantasy, with several materials to train in the modeling part, texturing as well. This was a perfect choice.
I mainly work with 3ds Max. I started making a basic shape with the dimensions of the wardrobe, after that, I was cutting it into four pieces: the top part, both sides, and the frontal part. With only that I already had a clear idea to start modeling all the rest, having in mind the dimensions.
I continued this part in 3ds Max, improving the previous blockout, I was defining the shape of the different parts of the wardrobe, keeping the dimensions inside. For the props and vegetation, I wanted to have the minimum amount of them but having enough to create variations to save time and space later on the UVs maps, without sacrificing quality. I modeled the whole wardrobe dividing the mesh with the Swift Loop and Cut and several other parts with Extrude, keeping proportions everywhere always and cleaning the mesh after.
When the digital carpenter work was done with the wardrobe, it was time to model the props. All of them were made following the concept art plus taking some other references from the internet. I normally like to take a look at the work of other artists and collect from them some visual ideas that I consider cool to be applied to my projects. I was using basic tools and modifiers from 3ds Max to model all of them, such as Extrude, Cut, Symmetry, Push, Shell, etc. Remember the part that I said to keep it simple and effective! At this point, the wardrobe was looking like this:
The final touch on the low poly part was the plants. I made all of them straight, made some clones of themselves, and after that, I just bent them with the Bend modifier and the Soft Selection tool to create variations and put it on the scene with the look of the concept.
With the whole low poly of the wardrobe, the mesh cleaned and separated, It was time to move into the high poly only the parts that will be used to bake the details. I always work with ZBrush, importing the low poly from 3dsMax as a .obj or .fbx file, separating the different parts of the asset and in subtools and polygroups in order to carve the details, this part is very important to have a clean result. After that, for this project, I was using ZRemesher to create a decent amount of SubDivisions. I mostly work with the Orb Brush pack from Michael Vicente plus the basic brushes like Move, TrimDynamic, ClayBuildUp, hPolish, among a few more, and the use of masks.
Here is when I have to decide what kind of details are easier to do now on the sculpt or later with the texture, normally because they require more control in order to make it properly, in the next image for example I decide to do the carved detail on the back of the wardrobe later as texture to work out better the Roughness and Height.
When I’m happy with the result and I want to start Baking, before leaving ZBrush, I use Decimation Master to reduce the number of polys on the mesh without sacrificing the quality of all details carved already.
UVs and Baking
I did 4 different maps for this project, again inside 3ds Max, I was working to have everything straight with Quick Transform, trying to make it the most “origami looking” possible but at the same time, relaxing the mesh keeping the boundary points fixed, having in mind the parts that should be separated for the bake and textures.
Before moving into the texture part, to have a clean bake I export the high poly from ZBrush as .fbx to 3ds Max file with the low poly and UV’s previously done, I put both models overlapping in the same position 0, 0, 0, I separate the parts that can generate artifacts because they’re too close to each other, using naming conventions such as “assetname01_lp” for the lowpoly and “assetname01_hp” for the high poly version of the same asset.
As an extra, I use the reset XForm tool to set object rotation, scaling values, align object pivot points and bounding boxes.
The texture PBR maps were made entirely in Substance Painter, I started baking the maps, following all the steps mentioned before. After that, I applied some basic colors to all assets to start having an initial look at the whole asset, some gradients, creating a Generator inside the mask and putting a 3D Linear Gradient, the same process for the edges, as an extra I put some hand-painted color variations here and there. To work out the colors properly, what I do is work directly on the Base Color Map viewport.
When I’m happy with the colors it is time to apply some details, all of them are a combination of hand-painted touches, playing around with the Height, Roughness, Metalness, and Normals, smart materials with few extra functionalities that I was researching from several tutorials on the internet, Fill Layers with Smart Masks for some specific areas that can do the job good enough and the use of Levels functionalities to generate deeper contrast between maps to make it look better on the render. As an extra, I added at this point all the details I didn’t want to carve on the high Poly stage to have more control now using Alphas.
For the render I use Unreal Engine 5 to create game-ready nice-looking shots of my asset, just putting it in the void with a light setup that can exalt the look of the best parts, texture, and shape-wise. For this case I put 2 Directional Lights, SphereReflectionCapture, ExponentialHeightFog to control as well the background color and I played around with the PostProcessVolume options for Bloom, Vignette, Saturation, Contrast, etc. I wanted to create some floating particles to give it the extra touch of fantasy look, so I worked out this part in the Niagara System.
The second render that I always do is inside Sketchfab, I prefer to work with it for the extra visibility that the platform can offer and at the same time the accessibility and easy use of all the tools. When I have my Unreal Engine render ready, I try to imitate a similar look here as well.
The most important thing to have in mind throughout the whole process is the clean structure and workflow of all your steps. If someone opens any of your files, should be able to understand all that you did. I was training this aspect with this project.
Feedback is very important in order to improve, your mind works best for you, but if you want to show your work to the world, you have to apply different points of view and learn from it.
The Internet is your big friend for every step that is not working or you want to learn, no one knows anything from anywhere.
You may find these articles interesting