Amazing artist Massimo Caggese showed how he managed to model and paint this excellent fan-art of the majestic Warhammer 40K Dreadnought.
Amazing artist Massimo Caggese showed how he managed to model and paint this excellent fan-art of the majestic Warhammer 40K Dreadnought. Colossal work and beautiful painting with Substance Painter!
Hello everyone! My name is Massimo Caggese and I’m 33-years-old. I studied and worked as an archaeologist till 2013, when I started to learn 3D modeling self-taught. Then I started working as a freelance and from 2016 till now I’m working for the Italian company THESIS Srl as 3D modeler and texture designer creating assets and materials for VR applications and games.
Well…the choice of this subject dates back to the last year, when I told to myself I was ready to start this complex model, taking it as an exercise both in hard-surface modeling and in texture painting. This could have given me also the chance to better learn Substance Painter software. I’ve always liked Warhammer Dreadnoughts for their overall design: clear shapes but with lots of variations, different materials and plenty of details!
After gathering a great number of reference images I started working piece by piece, trying to understand how they behave and how they move. All was modeled in Blender: I really find myself at ease with this software thanks to its versatility and its ever-growing features…and its community is amazing!
After setting preliminary bounding boxes for each part – just to be sure of their reciprocal proportions – I started creating each element, sometimes helping me with rough boolean operations and then finalizing with cleaner topology.
All other details would have been added by texture painting instead. Skulls were made with a quick and simple sculpting work, the flag using Blender cloth simulation just to achieve some wrinkle and fold, while the rocky soil was done applying a displacement map made by me in Substance Designer.
UVMapping was also a long and humongous process! I don’t like Blender’s authomatic ‘Smart UV Project’ so I preferred placing seams manually and then unwrapping. UV packing were made with the help of Texture Atlas (default in Blender) and ShotPacker (by Gumroad user Ambi) addons.
At the same time I started to imagine which material will be used for each single part and thus preparing ID Maps to feed into the texturing software.
Will I ever rig and animate this guy? Who can tell…
The first texturing step was in applying height/normal alphas on the whole model (my thanks go to Jonas Ronnegard and Andrew Averkin) in Allegorithmic’s Substance Painter software. Bolts, nuts, rivets, fans and other elements were first applied and then baked in Normals-Curvature-AO maps. I made this passage first (this happened before the releasing of the new Anchor Points feature in Painter) because I needed Smart Materials/Masks to take them (and not only mesh information) into account and properly distribute material layers.
The texturing process was a real fun! Reference images of painted miniatures gave me the point to start from but it was very interesting imagine how those materials would look like in reality.
Given some base material, I started adding layer by layer slight variations in color, roughness, metalness and height just to break homogeneity of these flat surfaces. Even the more imperceptible change in these channels contributes to achieve a better and more realistic look to your materials.
Then I decided to give my Dreadnought a worn look…and here come several dirt/rust/grunge/scratches layers with the help of Substance Painter’s Smart Masks, driven by baked Curvature and AO maps.
Hand-painting was the last step: I gave just some little touches here and there to fix some issue or to add details in focused points (i.e. leakings or heated metal).
Well…the nice painted look you see was actually a glad but un-wanted result! During Painter or Toolbag visualization all seemed right but importing my textures in Blender gave me that result. Maybe it’s something about lighting settings or something in the Principled Shader. By the way, I liked the result so I kept it.
“Devil is in the details”…and I’m sooo devilish! When you come in adding details you know when you start but not when it will end. It may become a long-lasting work and you must impose yourself to stop at a certain point.
Since the introduction of the “Text” node in Substance Painter/Designer it has become much easier to insert text elements on our models: in this way I could just literally write on my model without using stencils nor preparing and placing them in Photoshop. It’s a time-saving feature!
I used written details, as well as skulls or cracks layers, just as masks on the Height channel. In this way I could always have more control on how much they are engraved/embossed.
Using Substance Painter
Thanks to this work I discovered I really love texturing! And Substance Painter is a very powerful tool, almost always present in my workflow: it gives you all the versatility you need with the possibility to change almost every parameter. In pair with Substance Designer you can create your own filters, effects, procedurals and so on…it’s just insane!
For this work I made large use of Dirt and Grunge procedural layers and Warp node too: it adds the right noise to all the straight-lined elements (scratches, letters, symbols,…). I would like to mention Military Metal material (by user Piotrcrass) from Substance Share library. It’s really great!
Final renders were made in Blender Cycles actually, using the brand-new Principled Shader node, but all the previous in-work steps passed through several visualizations and preliminary renders in Toolbag 3. The new release of this software introduced very important features such as Global Illumination…and it’s incredible! Everything I do passes through Toolbag visualization before taking final renders or importing them in Unreal Engine.
I am not a lighting master so the only thing I can say is to try emphasizing the strengths (shapes, materials, composition) of your model/scene using lights and shadows.