From 2D concept to 3D: creating a stylized character
In this tutorial I’ll show you how I created my piece “Stoner,” based on the brilliant sketch by concept artist Varun Nair. I’ll go over the process used to create it, starting from modeling in ZBrush, through to texturing in Substance Painter, and finally rendering in Arnold.
Starting with the concept
Working with a stylized character concept, I find it’s sometimes easier to break the character down into just basic shapes by drawing over the concept using Photoshop. It helps identify major forms that need attention when translating it in 3D. If you can instantly see recognizable shapes from the concept in the 3D, it will ultimately sell the piece.
Because the concept was a simple line drawing it gave me a lot of freedom to play with how the character might look when doing the look dev. The character reminded me of a skater you’d see at a skate park, so from then on it was just a case of finding images that best captured the typical skater look i.e. blonde hair, oversized T-shirt, backwards ca, and so on.
Modeling in ZBrush
I start modeling using dynamesh as it’s the easiest way to rough out the shape. I use dynameshed primitives that roughly match the shape I want for big features (nose, ears). I dynamesh at low res (32-56) so I can make broad changes.
During sculpting, I’ll increase the resolution as needed, making sure that the mesh isn’t too dense and can be easily changed. It’s a standard workflow of “big to small shapes” when sculpting. I keep all the dynameshed pieces separate at this stage.
Once I’m happy, I merge all the pieces together, duplicate the mesh, and Zremesh the duplicate. I subdivide the Zremeshed then reproject the dynameshed onto the Zremeshed. I then soften the transitions between the original dynameshed primitives.
Retopology in Maya
ZBrush’s “Zremesher” does a good job but the topology can be hit and miss on a face depending on how complex it is, so I like to Retopo in Maya.
I take the Zremeshed and decimate it, usually at 7-10%. I export to Maya and use the “Quad Draw” tool to manually retopo on top of the “Live” mesh, making sure that I get a low poly version with clean loops and edge flow. Once finished, I take the retopo’d version back into ZBrush, subdivide a few times, and then reproject the details from the original Zremeshed onto the new clean mesh. Now I have clean topology with no pinching or artifacts to continue refining the sculpt.
Adding the rest of the clothes
With the sculpting finished on the body and head, I move on to adding the other cloths. I add the baseball cap which started as a simple sphere with the bottom deleted, and use the “Move” brush to give it the correct shape matching the sketch.
For other details on the cap like the logo, I masked out the area using an alpha I made in Photoshop, and extracted it at “0.” I then decimated the extracted logo and retopo’d it in Maya. I took it back into ZBrush and gave it the necessary thickness using “Panel Loops.’
I created the T-shirt in Marvelous Designer and exported it to Maya where I again retopo’d it and gave it thickness in ZBrush.
UV’s & Posing in ZBrush
Once all the pieces are made, I exported all the SubTools at subdivision level 1 and imported everything into Maya and begin making the UVs.
I use the “3D Cut & Sew” tool in Maya to cut each model before unfolding everything. I also make sure everything has the same Texel density. I used UDIMs for this project so each object fit on multiple tiles for maximum resolution when I come to render in case I decide to do any close up shots.
I export the new UVd meshes into ZBrush and copy the UVd to the non-UVd SubTools. I then start posing the character. I wanted to stay as close to the concept as I could so I made sure I used ZBrush’s “Spotlight” to check if the 3D matched the 2D. Even though the 2D is from one angle, it’s important that the 3D matches that angle but also looks good from all angles.
Texturing in Substance Painter
Now the fun can start in Substance Painter! I knew I wanted stylized textures but also with elements of realism to show age, dirt, grim, and so on.
I went through different ideas for the T-shirt. I initially painted the T-shirt in a “tie-dye” style similar to the reference images, but ended up scrapping that design as I felt it was too distracting.
Spend time painting good value Specular maps as they’ll be the ones that’ll really make a difference when the model is under lights and seen from a distance. For most of my texturing process, it’s a standard workflow – a mix of fill layers with masks, procedurals, and a lot of hand painting. Experimenting with color is important to producing eye-catching work, so just have fun with it!
Making the hair using Xgen
For the hair I used Xgen. I start by exporting a decimated version of my sculpted hair from ZBrush to use as a proxy guide. I then took a low-poly version of the mesh and separated it into scalps for Xgen to "grow" the hair from. I then create a collection and description for each part of the hair from these scalps.
After everything’s set up correctly, I begin placing guides, making sure they follow the silhouette of the sculpted hair. From there I begin adding clumps to the guides going from bigger clumps to smaller clumps, adding noise and cut modifiers and stray hair expressions to the modifier stack. I use the same workflow for the eyebrows and facial hair.
Lighting in Maya
Lighting plays an important part in really giving character to the model. I experimented with lots of different light setups by doing quick 50% size render iterations to test what would work and what wouldn’t.
I tested a lot of HDRI light scenarios, some making the character looking more “sly and suspicious” than I intended, so I ended up going for a three-point-light system with the key light directly above, as this made the character look lazy which suited him. Like texturing, this part is all about experimenting as light really makes a difference so have fun with it.
Rendering in Arnold
I decided to use Arnold for Maya to render. You can get good test results with the settings in the default render setup but for final beauty renders you need to crank up the settings to eliminate noise and fireflies at the expensive of render time. If you’ve got a good CPU then the added time shouldn’t be too much of a bother.
I wanted to limit the amount of post-processing I’d have to do so I added Depth of Field using Maya’s camera as it’s more accurate and looks better than rendering a Zdepth pass and having to comp it in Nuke after, for example.
Top tip - Depth of Field tip
I use a cube primitive to measure distance from the camera where the character should be more in focus – in this case his face was in focus and there was a soft blur around him. Subtlety is key with this effect, too much and a character can look like a miniature!