Harsh Lakhera showed us the workflow behind the mighty King Dwarf, inspired by Might & Magic Heroes 7, and explained how the hair and beard were created in FiberShop.
Introduction
Hi, I'm Harsh Lakhera, a passionate 3D character artist with a love for games and storytelling. My journey in 3D modeling began in 2021 during my B.Tech in Information Technology. Inspired by Hossein Diba’s "Jasmine" artwork on LinkedIn, I dove into learning through online courses and quickly picked up tools like ZBrush, Maya, Marvelous Designer, Substance 3D Painter, and Unreal Engine.
Since then, I’ve worked as a freelancer, completed an internship, and contributed to projects featuring cartoon characters and underwater creatures. Each step has fueled my growth and deepened my passion for character art.
King Dwarf
I found this dwarf reference on Pinterest and really loved the concept, which is from Might & Magic Heroes 7. My first mistake was jumping straight into ZBrush without collecting more references. After just one day, I felt stuck. I reached out to a senior collectible artist who guided me on how to properly follow a concept and also provided me with useful references for the face and anatomy. This helped me move forward.
It’s really important to stay motivated, and since I’m a bit lazy, I tend to watch movies and series. One of my senior artists suggested that I watch The Hobbit, since I was making a dwarf character, everything I needed was in that movie.
I gained a lot of inspiration from it, especially for the dwarf body, armor, hair, and environment. One thing I noticed while watching was that every dwarf had a unique hairstyle. That motivated me to make sure my character’s hair also stood out.
The tools I used were:
1. PureRef – for references.
2. ZBrush – for high-poly modeling and adding details.
3. Autodesk Maya – for retopology and UVs.
4. Marmoset Toolbag – for baking.
5. Substance 3D Painter – for texturing.
6. FiberShop – for hair card texture.
7. Unreal Engine 5 – for lighting and rendering.
8. Photoshop – for post-production.
Modeling
My initial step is always blocking out the head. This helps me define body height and proportions early on. After blocking the head and body, I used the Spotlight mode in ZBrush to match the body proportions to my reference.
Once I was happy with the body, I started blocking out the garments. I masked areas on the body where I wanted jackets, pants, or other accessories and used the Extract function. The same process was followed for the armor.
The golden designs on the armor were created by masking the design, inflating it, and refining it with the Pinch, Move, and H-Polish brushes. The same workflow was applied to the helmet and hammer weapon.
For the eyes, I used a simple sphere during the blockout stage and painted it for visualization. Initially, I planned to use an eye kit for Marmoset rendering. But later, I switched to Unreal Engine and didn’t know how to use those maps, so I ended up using MetaHuman eyes.
Before starting retopology, I decimated my entire DynaMesh model to a lower resolution so Maya could handle it better.
Topology & UV Mapping
I always use Autodesk Maya for retopology. After finalizing the high-poly model, it’s time to retopo for rigging and animation. I import high-poly models into Maya, enable the Live mode, use the Quad Draw tool, and start adding points on the high poly.
I start with the face and then move down to the body. For this project, I stopped retopology at the bottom of the chest, as the rest was covered by clothing.
For the armor, I didn’t want a flat topology. I modeled the gold design and base layer separately to show a more dynamic silhouette.
Detailing
This is my favorite part! I collected many references from Google and Pinterest. I also visited Daniel Boschung’s website for ultra-high-resolution face references.
I brought the low-poly model into ZBrush and projected it onto the high-poly DynaMesh model. To avoid distortions, I used the Auto Group by UVs feature, masked sensitive areas like eyes, nose, mouth, and ear caps, and applied Morph Target before projecting.
For skin detailing, I used free brushes from Gumroad and basic skin alphas from Pixologic. Turning symmetry on/off and varying brush sizes helped me break up patterns for a natural look.
Since I work on a laptop, I checked file sizes constantly; after finishing details on one object, I saved and deleted it before moving to the next, which helped reduce lag and saved time.
Check out the results below.
Baking
Correct naming conventions are key when baking in Marmoset, especially when using the auto-load feature. This helps prevent artifacts in normal and occlusion maps.
Texturing
I used Substance 3D Painter for texturing. I followed JHill’s tutorial on YouTube, and some friends also helped me along the way.
For skin, I gathered real-life references and RBX face images to study sun-damaged skin. I layered the texture with a dermis, middle layer, and epidermis approach.
Leather was the most challenging – it had many variations. I followed YouTube tutorials and sought feedback from seniors to get it right.
Gold was simpler: I started with a gold base color, adjusted roughness and metalness with generators and level filters, and manually painted areas needing more or less shine.
Hair
This was the most fun part! Huge thanks to the senior hair artist who gave me invaluable feedback – it helped me reach this level of quality.
Initially, I considered using XGen (which I had used before), but it’s not ideal for games. So I contacted hair artists, and luckily, they replied and guided me through the hair card process.
XGen is powerful but time-consuming. Instead, I used FiberShop for the first time – it was super handy for making strands and maps quickly.
Creating the texture was the biggest challenge. Even with references, I had to track each strand from start to finish to complete the texture sheet. I used the same process for head hair, eyelashes, and eyebrows.
For placement, I used ZBrush instead of Maya. ZBrush modifiers gave me better control than tweaking vertices one by one.
Rendering
I used Unreal Engine 5 for lighting and rendering. I applied the MetaHuman lighting preset, which gave me cinematic results – exactly what I wanted.
For post-production, I used the Post Process Volume in UE5 and finalized everything in Photoshop.
Time & Challenges
I can’t pinpoint the exact start date of the project – I had to delete the early files due to storage issues. But everything except the hair was done early. The hair itself took me around three months to fully understand and create.
The final challenge was posing the character in ZBrush, but it worked out with the help of seniors.
Biggest challenge overall? Hardware limitations. I work on a laptop, so managing file size and structure was crucial to avoid lag.
What I Learned
1. Always prepare your reference sheet before diving into character creation.
2. Be patient – good things take time.
3. Spend at least one hour doing R&D before bed and plan for the next day.
Before Main Render
The image below shows my previous rendering idea. I had to abandon it because it kept crashing due to my laptop’s limitations. Instead, I quickly set up a new environment using the MetaHuman lighting preset and assets from Unreal Engine’s Megascans. I’m satisfied with the final result.
Conclusion
I worked on this project every day, but taking breaks was essential. Stepping away helped me come back with fresh eyes and fix things I might have missed.
My advice to younger artists is to focus on mastering the fundamentals. They take time to develop, so be patient with yourself. Growth doesn’t happen overnight. Stay consistent, keep practicing, and don’t rush the process.
A big thanks to 80 Level for the interview, and to everyone who took the time to read this.
You can find me on ArtStation.