Character Breakdown

Patrick van Rooijen


Patrick van Rooijen

Character Artist


I am a passionate 3D Generalist with a passion for modelling, texturing/shading, and sculpting. Currently, I'm working at Guerrilla Games as a Character Artist on the recently released Horizon Forbidden West.


For this specific project, I wanted to try out some new techniques and styles. I always loved (and still do) the Ben Affleck’s take on Batman, and with him not getting another movie, I wanted to create an outfit in a way that would be a continuation of the previous suits and put my own spin/style to it.


Most of the project was created in Zbrush, starting from a simple sphere.
For the cape, I used Marvelous Designer to get a proper simulation and realistic feel for it, but everything else was modeled/sculpted in Zbrush using a lot of Dynamesh and Zremesher.
For the retopology, I used Topogun with UVs done in Maya.
Texturing was done in Substance Painter and the final presentation in Unreal Engine 5.

References & Inspiration

For reference, I used a lot of different sources.

I knew I wanted to use Ben Affleck’s interpretation as a starting point, and I love the Batman v Superman suit, so that’s where I started off from.

The idea behind the project was to create a “what-if” scenario where Ben Affleck continued in the role (in a separate universe from Robert Pattinson, who also gave an amazing performance, and I can’t wait for The Batman 2).

At the end of the Zack Snyder’s Justice League, we see the suit get some plating and get a little bit more technical, so that’s where I played off from.

Using other media, like the comics, statues and games, I pretty much designed the suit as I went along.

A huge starting point for the project was Josh Nizzi’s Batman for Prime 1, which was the main inspiration for the torso, and originally the shoulders until I changed them to a more Arkham Knight-like look.


Modelling Workflow

I originally started with a quick sketch of the cowl, trying to see if I could get something I was at that point happy with and to use as motivation for me to continue the project.


After getting something that I was pretty happy with, I blocked out a quick body.

While this was in no way perfect and required a lot of adjustments down the line, it gave me a starting point to continue the rest of the project. At this point, I was just interested in getting something on the canvas.

Once I was happy with the major forms, I duplicated the body tool and sketched out the armor. Since this was a pretty form-fitting body, using the actual body to sculpt made sure it followed the overall shapes.


I started mostly focused on the torso, which in hindsight I would do differently, and actually do the entire body in one go, making it easier to keep a nice and consistent style throughout the project.

Once I had the shapes I wanted in place, I started splitting them off of the sketch. Using a lot of masking and split masked points (subtool/split/split masked points) or extracting them, it gave me the tools as separate elements, allowing for an easier time to work on them.

I always recommend keeping a duplicate of your sketch around, since splitting them will remove them from the original sketch, making it hard to go back.

At this point, there are two ways that I like to go with my extractions, we can use Zremesher as demonstrated by Marco Plouffe here:

Or another approach to clean up these meshes is to add some thickness to them using Panel loops or  Mask by Feature with only the Borders function enabled and pushing the surface down.

At this point, a combination of the ClipCurve, hPolish and TrimDynamic brushes will help you get this surface clean.

A way to create sharp plane changes is by lowering the intensity of the DamStandard brush and swapping between the normal way to use the brush and holding ALT on your keyboard to push the surface out.

This process takes a bit of time but gives you a lot of control over the final polish.


I do like to add subdivisions to the model, by duplicating the model, ZRemeshing it and adding subdivisions to it until it’s roughly the same polycount as the original dynamesh mesh.

(For this, I don’t really care what the topology looks like, as long as it captures the shapes).

At this point, I can reproject the dynamesh tool onto the new tool with subdivisions to do further refinements and get it as clean as I can get it.

This process was used on most of the hard surface pieces until they were cleaned up, and ready for detailing.


For the face, I used one of the 3d ScanStore’s HD heads.
I sculpted out the significant major forms to try and get the likeness of Ben Affleck, and after that using Wrap4D – Demonstrated on 3d Scanstore’s youtube page here:

I wrapped the HD mesh around my sculpt. This gave me a lot of fine pore detail and fine wrinkles.
I did some minor sculpt adjustments but overall it’s pretty much using the HD head for the details.


For the materials, I used some base materials from GameTextures ( to get started but added a lot of extra color detail and break-up to make the armor seem a bit more used than something that was brand new.


I wanted to have some of the damage drive other parts of the texture, so I relied a lot on anchor points, using the anchor points made sure that scratches I added, not only took away the outer material, exposing the underlying metal, but also added some height, roughness and color variation around the damaged area.

For more information anchor points, I highly recommend this video at the official Substance channel to get started:

I wanted to try and get a nice breakup between the different materials, and have some different roughness values to keep the person looking at it interested.



Since I knew I wanted to use Unreal in the end, the Metahuman eyes were a huge timesaver and looked great.

I used Quixel bridge to download some Metahumans and loaded them in Maya.
This allowed me to get the eye geometry, with all UVs as created by Epic so I could reuse all of their existing materials.


Be sure to not change anything to those models, to make sure you’re able to reuse the Metahuman materials in Unreal.

Skin Material

For the skin material, I wanted to create a nice close-up to show the great detail of the 3d scan store data, so I needed a nice skin shader to show it off.

Luckily as I was approaching that point, Nick Rutlinh published his awesome skin shader with a video walkthrough on how to create it.

Following those videos, I could replicate the shader and have a beautiful skin shader that held up nicely in close-ups.


Another option is of course to use the MetaHuman skin shader, created and provided by Epic, but I took the opportunity to also create it and learn the thought process behind the shader itself.

Detail Normals

Since I knew I wanted to create close-up shots in Unreal, I added a function for Detail Normals to the shader.
This allowed me to get as close as I wanted to the character and keep some excellent crisp detail in the texture.

In this image, you can see an essential way to set this up in Unreal, with control for tiling, rotation and strength.


You can go as crazy as you want with this, adding support for RGB masking to allow for different detail in different areas, but at it’s core, this is how I set it up.


For the lighting, I started off with just the mask and face in Unreal, and as you can see my initial light setup (key, fill and 2 rims) was made for that.


As the full body went in, my main Light setup remained (Key, Fill, Rim) but I added extra lights and played a lot with the different intensity’s of the lights to make sure the entire model got the atmosphere and look that I wanted for it.

In the light settings I also like to add an HDR texture to get a more realistic light.


In the image above you can see me using a SoftBox texture to replicate an actual softbox as it would be used in photography.


My advice for lighting is to Google professional photography setups, for example for portrait photography, and try to emulate to get a nice starting point.

Another great point of reference is movies, you can usually find some great inspiration from those.

You might find that your model reacts a little bit differently in these lighting conditions but this is where the creative/artistic part comes in, and where you can add extra fill lights, or increase or decrease the intensity of the lights to really get the look and feel you want for your final presentation.


For the rigging and posing, I used Mixamo to make that progress quite simple and straightforward.
For future projects, this is something I want to dive into a bit more and rig it myself. I uploaded the model, aligned the points and found an animation that I liked.

While this wasn’t perfect, it worked well enough for my needs.


Originally I also wanted to render out a proper animation of him walking or standing up, but ran into a lot of problems with the cloth simulation, so maybe next time.

For the pose, I loaded the animation in Maya and found a frame that I liked and exported that separately as an FBX file.
I loaded it in Zbrush and adjusted the cape to fit that specific pose to prevent any clipping.

Scene Setup

The rest of the scene is not overly complex, I added in a PostProcessVolume and played a little bit with color correcting the scene, with some bloom/glare and Chromatic Aberration and really get the look and feel that I wanted.

For the fog in the background of the scene, I used Devon Chiu’s FogCard Blueprint ( which was super easy to use being literal drag and drop and added a lot of atmosphere to the scene.


For the rendering, I used the Movie Render queue, which gives me a lot cleaner shots, due to the ability to add some Anti-Aliasing samples. It takes a few minutes to set up, but I love the results over the regular screenshot tools in Unreal

If you want more info on it, I can highly recommend William Faucher’s very in-depth explanation on it:


Overall, this project was a lot of fun, for something that started off as a quick sketch I am happy with how it came out.

I always treat my personal work as a way to practice new techniques, and this one was no exception, and I learned a lot from it.