Making a Recreation of Dr. Doom Using Unreal Engine and ZBrush
Patrick van Rooijen discussed the workflow behind the Dr. Doom project, explaining how he modeled the face and head using MetaHuman, detailing how he created the costume with ZBrush and Marvelous Designer, and how he added believable wear and tear to the cape.
Introduction
My name is Patrick van Rooijen, and I'm a Senior Character Artist at Rocksteady Studios. I got into 3D art years ago through playing games and watching movies and deciding that this was what I wanted to do for a living. I eventually went to school for it, but a large part of my development came from online education through places like CGSociety's CGWorkshops and CGMA, alongside doing a lot of personal work.
Professionally, I've worked on two games, Horizon Forbidden West and its Burning Shores expansion, and Suicide Squad: Kill the Justice League. Since my previous interview with 80 Level, I've been focusing a lot on improving my technical knowledge in Unreal Engine and my Marvelous Designer skills. More recently, I've been doing mentorships with Ankit Garg at Zombie Art School. This was my second round there, and I feel like it has really helped push both my Marvelous Designer and Unreal workflows further.

Dr. Doom
The Dr. Doom concept was suggested by Ankit as a follow-up to my previous project. We wanted something more complex from a Marvelous Designer perspective, and Doom was a great fit because of the combination of layered cloth, skin, and hard-surface elements. My main goal was definitely to improve my Marvelous Designer work and deal with more complicated garment construction and layering. And, of course, with the upcoming Avengers movie, the timing felt pretty perfect for doing a Dr. Doom project.
Modeling
The head started from a scan I had of one of my cousins. I converted it to a MetaHuman mesh inside Unreal Engine, then brought it into ZBrush for a stylization pass where I adjusted the shapes and added the scarring. After that, I brought those changes back into Unreal and updated the MetaHuman with the new shapes.
This was also a nice follow-up to Sefki Ibrahim's hyperreal character creation course for Unreal Engine 5, which helped me push my understanding of the MetaHuman skin and eye shaders. For the skin, I used the default MetaHuman textures as a starting point in Substance 3D Painter and adjusted them to suit the character, particularly the color variation around the scarring.
The eyes are largely the default MetaHuman setup with adjustments to the shader parameters. Doom doesn't have any visible hair, so the peach fuzz, eyelashes, and eyebrows are also the default MetaHuman ones. You barely see them, and the eyebrows are hidden underneath the mask anyway, so there wasn't much point in spending time rebuilding something that wouldn't affect the final result.
For the clothing, I first made a blockout in ZBrush to understand the layering and construction of the costume. Once that worked, I rebuilt it properly in Marvelous Designer. The collar around his neck was probably the most difficult area, in combination with the multiple layers of the cape.
For believable folds, I think understanding the construction and fit is more important than simply adding interesting wrinkles. The folds should make sense based on how the garment is built, where the tension comes from, and how the layers interact.
Most of the hard-surface work was done in ZBrush. I would sculpt a blockout, extract the individual pieces, and clean them using tools like ZRemesher and the HPolish brush. For more complicated shapes, I sometimes moved into Maya and manually retopologized them to give myself clean geometry to work with if ZRemesher didn't give me the result I needed.
The mask followed the same process. I used the concept as a starting point but wanted to put a little of my own style into it, focusing on plane changes and angle breaks while making sure it still felt like Dr. Doom.
Retopology and Texture
The final retopology was done using Maya and TopoGun (personal choice, could have been Maya fully, but I like the way TopoGun handles high-density meshes). For the cloth, I tried to save time where possible by using subdivision level one or two from ZBrush as a starting point, depending on the density. I would then clean the mesh and cut the important folds into the topology.
Otherwise, it was mostly traditional manual retopology for the rest of the outfit. For UVs, I used RizomUV and Maya, but mostly RizomUV because it makes straightening and laying out shells very quick. I also used UVPackmaster in Maya to speed up packing and get an efficient layout without spending unnecessary time doing it manually.
The texturing was done in Substance 3D Painter. One of the main things I focused on was value and how it could help separate the different layers of the costume. The lower layers are generally darker than the ones on top, creating a natural sense of depth. I also used gradients to help guide the eye upward toward the areas where I wanted the viewer to look.
There is actually a lot of color variation in the green cloth. There are blues, reds, yellows, and different greens throughout it. You might not necessarily see those individual colors, but you feel them in the final material.
I also thought about how the clothing would have been used. If Doom has been wearing this costume in battle, it isn't going to be perfectly clean. Wear and tear can add storytelling, as long as it is placed where it actually makes sense.
The metals are fairly simple. I used subtle browns, greens, and reds alongside roughness variation and grunge maps at different tiling scales to break up repetition. I then added edge wear where appropriate and varied the values between individual armor plates so they didn't all feel identical.
Throughout the entire process, I was constantly looking at references. Whether you're modeling, sculpting, or texturing, reference is key.
Lighting
The project is pretty much entirely rendered using Lumen. I wanted the presentation to stay as real-time as possible, so almost everything you see in the final images is already happening inside Unreal Engine. In the end, I used Path Tracing for one image.
The lighting setup consists mainly of a key light, fill lights, and rim lights, with an HDRI helping lift some of the darkest values. I looked at photography references and how professional photographers light their subjects, using the lighting to guide the eye toward the upper part of the character.
The magic itself doesn't cast light. Instead, I placed a small point light in Doom's hand to suggest that the magic is illuminating him. It's a simple trick, but it gives me much more control. For the depth of field and lens choices, I looked at cinematic references, including the Avengers: Doomsday trailer. For fog and atmospherics, I used Easy Atmos, Easy Rain, and Easy Fog by William Faucher.
There is very little post-production. I might adjust contrast or exposure slightly in Photoshop, but I'm not relying on post-production to fundamentally change the image. For the animated presentation, I used Unreal Engine 5.8's markerless mocap. I recorded myself using a webcam and converted that performance directly into mocap data inside Unreal.
It worked surprisingly well. There was some jitter that I smoothed out in Sequencer, but I'm not an animator, so I had to think about what the project actually needed. I could have spent a lot more time cleaning every small issue, but for my shots it was good enough. There are things like the feet clipping slightly through the floor, but I simply framed the cameras so you don't see them. A still is cool, but animation is cooler!
Conclusion
One of the biggest technical challenges was simulating the cape in Unreal Engine using Chaos Cloth, which my friend Thomas Sykutera helped me with. Because of how my original low-poly mesh and sculpt were constructed, the cape had problems clipping into itself during simulation. In the end, I made it fairly rigid. It still has enough movement to feel alive, but it's much more controlled and worked well for what I needed.
Another challenge was making sure the character continued to feel like Dr. Doom. It's easy to get carried away when you're having fun with a project and keep changing things. I wanted to put some of my own style into the design without losing what makes Doom recognizable.
For beginners, one of my biggest pieces of advice would be: don't rush your blockouts. Your blockout can ruin your final result.
Figure out how things are constructed early and make sure your primary forms work before you start worrying about details. Detail isn't going to save something when the underlying shapes aren't right. I would also highly recommend mentorships and asking for feedback.
Find people who can push you to get the best out of yourself, and sometimes a little bit more than you thought you could do. Don't approach your work thinking you know everything, because you probably don't. Someone with zero attachment to your project can give you a completely different perspective. Sometimes the feedback can be harsh, but use it to make the work better.
I also want to give a shout-out to Ankit and Zombie Art School. This is my second mentorship there, and I can't recommend the experience enough. Having someone consistently challenge your decisions, point out the things you've stopped seeing yourself, and push you further than you would probably push yourself is incredibly valuable. No matter how long you've been doing this professionally, there is always more to learn, and Zombie Art School has been a great environment for me to keep doing exactly that.