Senior 3D Artist Abhas Dhulekar talks about the how-tos of mech art and shares the secrets of creating solid mech pieces.
My name is Abhas Dhulekar. I am a self-taught artist. I am currently working as a Senior 3D Artist at Ubisoft Mumbai. I have more than 7 years of experience working in AAA game development and have contributed to projects like Mortal Kombat 11, Hyperscape, Injustice 2, Forza Horizon 2, and World of Tanks.
I will try my best to share my workflow for the Mech Apollo 75 project. I was inspired by Tor Frick, Matthias Develtere, and MachineGames in general and wanted to do something along those lines. I chose to do the concept by Weiyi Qin and attempted to transform it into a heavy mech. Before I started working I had a few things in mind, and those were design, detail, function, and readability.
So first things first, I started gathering references. These references do not look anything like the final output. Their main tasks are to increase the flow of ideas, inspire future design, and pave the way for experimentation.
Started with a very basic blockout to get the scale correct. A lot depends on the scale and it needs to be correct from the start. Materials in KeyShot, Ambient Occlusion, Curvature/Cavity will not behave properly if the scale is not correct.
Once I was happy with the scale, I started detailing a few meshes using MOI3D. This was the first time I used MOI3D and because of its simple interface and tool description it provides with every operation, it was very easy to grasp. Within a day or two, I had working knowledge and created a few parts for this mech.
Here are some of the parts created using MOI3D.
3DS Max Tips
Before I start with the modeling part, I want to discuss a few things which can really speed up the workflow in 3ds Max. The first one is how to use smoothing groups properly.
In this example, I have created a fairly simple low-poly shape. I separated the smoothing according to my support loop needs. Chamfer modifier automatically adds the desired support loops. This actually saves a lot of time/effort and I spend more time on design rather than modeling technicalities. To speed up the smoothing group assignment you can create a hotkey: Customize > Customize User Interface > Keyboard, then assign "Smooth Selection" to your desired hotkey.
The next thing that I would like to discuss is the double turbosmooth.
The double turbosmooth technique also works on meshes that have proper smoothing groups. On the first turbosmooth, put a tick in the 'Smoothing Group' checkbox and keep it at 2 iterations, leaving the top turbosmooth with just 1 iteration. Also, make sure the mesh has fairly equal divisions. It should look something like this.
One more thing you should know about is working at a random angle.
In 3ds Max you can work along any random angle with ease. In this example, I will be sharing my insights of working on this mech leg which is at a 30-degree angle. This can be done in two different ways. First, it can be done by taking the whole leg and rotating it to 30 degrees to straighten it out and then working on it. The second way is simply working at an angle. Both approaches are fine, but working at an angle gives better visual feedback as I am already working on the actual model, and do not have to check back and forth whether the edits are working or not.
Place a PointHelper and adjust the element of your design to the desired angle and name it. In this example, I named it Leg_Normal and rotated it to 30 degrees.
Pick the PointHelper from the Reference Coordinate System. After this, the gizmo gets aligned with the PointHelper Normal. Going forward this will make our job a lot easier.
Detail Modeling and Design
Every part that is created needs to have some kind of function. This is a general rule I follow while designing anything. For example, here while designing this back part of the mech, I was thinking about how this part comes together. Since there were antennas, I assumed it housed a communication array, and antennas needed to be connected. So I added the wire and the hub. Slowly its function got clearer in my mind. The function does not need to be perfect, there just needs to be something we can relate to in the real world.
Similarly, here I added some exhaust vents and pipes that are connected to the mech cerebrum.
Here I added rugged pipes that deliver power to the gun. These pipes are part of the gun mechanism and need to be rugged. As I said, the function does not need to be perfect, it just needs to be something relatable.
Finally, here I added red light on the antenna, an opening for the hatch, and hanging wires.
Working in ZBrush
ZBrush is incredible for adding additional details. I used Vitaly Bulgarov’s mech alphas. It quickly adds the details and also saves a lot of time.
Here are a few welding details. I used a welding brush by Piotr Bieryt.
Slowly things started to form with my 'Design+Function' approach. Here is a compilation of my daily progress.
And just like that my modeling was complete.
Rendering and Lighting
I used KeyShot for rendering this mech. KeyShot has a simple and effective node-based material graph editor for creating custom materials. I use the same texturing principle as in Substance Painter, mainly mixing different grunge textures for creating variation, adding different colors, and playing with roughness, Curvature for edge wear, AO for dirt, etc. The best part is that these materials are triplane and this eliminates the need to UV the mech.
Here are the material graphs.
KeyShot geometry view is a fast and efficient way for setting up the scene quickly. This viewport is very light and fast. Lights adjustment, model adjustment, camera setup should be done here. Here the planes around the model are all different lights (Rim Lights, Key Lights and Fill Lights).
KeyShot exports a variety of passes in one PSD, and this includes the Clown Pass (color ID) for selection, Reflection Pass, Lighting Pass, Diffuse Pass, Shadow Pass, AO Pass.
After a bit of adjustment and post-effects in Photoshop I got the desired look I was aiming for.
Here is the final result.
You may find these articles interesting