Mason Rhoades talked about his workflow in 3ds Max and ZBrush used while recreating Rogue from X-Men with a '90s vibe.
In case you missed it
Study more projects with cel-shading
Hi there! My name is Mason Rhoades, and I’m a 3D artist from the midwest United States. Professionally, I have been working in architectural visualization and product rendering for the past 8 years, but I spend much of my free time working on 3D character art.
I went to school for game art and design, which is where I learned 3ds Max and gained my love of 3D character art. I love the idea of making characters that could be playable in games, so I tend to stick to real-time 3D art.
For character art, most of what I’ve learned has been self-taught. I tend to analyze other work that inspires me and adapt styles and techniques that I see throughout the industry.
I’ve been wanting to make a model of Rogue designed in the '90s style for some time, so when I saw David Liu’s sketch, the inspiration just hit me. I set myself the goal of “just translate that sketch to 3D by the end of the next week.” I didn’t necessarily need to create a fully production-ready model since the exercise, in this case, was just to adapt the visual style to 3D.
But after I looking at other works by David, I decided to take the model’s rendering a step further and really push the '80s/90s anime vibe he shows in a lot of his works. I saw it as a fun challenge, to translate this style I had never worked with before into a 3-dimensional character.
Examples of his visual style:
Modeling the Base Mesh
For base meshes, I start with a plane and extrude edges to create edge loops, typically starting with the face. I’ll add placeholder spheres for eyes and simple geometry for teeth so I have an idea of where the features will be, and just build out around those. It’s also always extremely helpful to have a good front/side view reference, even if it’s just a generic one. You can always shift the low resolution around after it’s built out to match closer to the character you are making.
Using the modifier list in 3ds Max, I will add a turbosmooth modifier to the top of the stack, this way when I am extruding edges I can work at a low poly count. The goal is to block in the general edge flow without having to move a lot of vertices to get the form of the character.
I use a similar workflow for the hair, but I start with a simple straight spline, with one vertice in the middle. Then, I add a sweep on top of the stack, and then an edit poly to taper the edge loops, and finally a turbosmooth.
This gives me a good base for a hair strand that I can pose with the spline verts. And by turning on generate UV coordinates in the sweep modifier, the strand will already be unwrapped for me, saving me that step later. After initial posing, I will add an edit poly above the first one, where I’ll add additional edge loops to get the form of that particular strand right.
A fun side note, you can also use this method to set up hair card strands. Instead of a sweep, use extrude to make the spline into a plane. You may need to use the edit poly above the extrude to rotate the polys to align with your surface. Don’t forget to check the UV coordinates in the extrude modifier!
At this point, with the base mesh, I decided to break apart the UV islands based on color zones. Since the intention was to do more of a cel-shaded look, I needed to have clean breaks between where one color starts and the other begins. It was at this point I also decided, in order to get a bit more of a ‘line art’ look, I cut geometry in for the seams between the yellow and green on her suit. This allowed me to get a clean black line separating the 2 colors.
I didn’t worry too much about cleaning up the UVs in Max. ZBrush’s UV Master tool does a better job of giving me useable UVs using the islands made in Max.
Rigging in 3ds Max
While I always try and do some sort of rigging for my characters, whether I intend to just pose them or do any animations, I rarely take the time to create a fancy custom rig for them. 3ds Max has a couple of handy built-in rig systems.
For most of my characters, I tend to use the CAT rigs, which provide good functionality out of the box, while allowing you to still add some customization with controllers or extra bones if needed.
With Rogue, since I was only intending to recreate the pose from the original 2D art, I went ahead and decided to just create bones at the joints I needed, and then adjusted the geometry manually from there.
Sculpting Additional Details
Once I had posing finished in Max, I exported the geometry to ZBrush. Again, since the goal was to do cel-shaded for the render, I didn’t feel the need to go crazy high with the poly count, and so I kept the detailing mainly to add some definition to the muscles and a few creases in the clothes. I did do a fair amount of sculpting on the jacket to get the details closer to the reference, but I zremeshed it to a useable poly count.
A lot of the sculpting was done with the standard brush and the dam standard brush. I used the snake hook brush to make large form movements, such as in refining the posing of hair strands or creating tucks/folds in the jacket.
Even though I intended to cel-shade the character, which typically relies on just solid blocks of color, I decided to add some tonal variation to the color map. I just used a soft brush in ZBrush and polypainted some darks and lights, using poly groups made from the UV islands to mask the color zones and keep them separated. I also used different mask settings to isolate areas of ambient occlusion and cavities, so I could finesse the darker areas.
The UVs generated in ZBrush, though by no means perfect for a production-level model, worked just fine for my goal of creating a color map with soft tonal variation. Any odd artifacting or errors from converting the polypaint to a texture map were touched up easily in Photoshop.
After completing the posing, ZBrush detailing and texturing, I brought the higher resolution mesh back into Max and reapplied the rig by using the skin wrap modifier. This allows me to rebind the vertices of the higher resolution mesh to the skin weights of the original low poly rigged model. The skin wrap then allows you to convert that into a skin modifier that is bound directly to the rig, saving me the hassle of weighting substantially more vertices to the rig.
I kept the idle animation fairly minimal, just to add a bit of life to the character without needing to make massive additions to the rigging.
I also went in and created “outlines” for the lips and upper eyelids, to emulate the line art effect for those areas.