Turning a 2D Concept of a Punk Goth Girl into a 3D Model with a Painted Look
Karthik Suresh discussed his workflow behind the Punk Goth Girl project, from defining the core low-poly shapes to crafting the stylized aesthetic, inspired by Deadlock.
In case you missed it
You may find these articles interesting
Introduction
Hello, my name is Karthik Suresh. I'm an Asset Artist who enjoys working on 3D characters. I am an alumnus of Think Tank Training Centre, where I specialised in Character creation for film. About my professional career, I have worked on a wide variety of projects in styles ranging from stylized to realistic. Some of them include trailers for Apex Legends and Marvel Contest of Champions, animated TV shows like Super Book and Big Nate, and films Mufasa: The Lion King, The Little Mermaid, and Transformers Rise of the Beasts.
Lately, I have been sinking my hands into software like Unreal Engine 5 and Blender, which I have been using for my freelance/contract jobs, and learning new workflows to incorporate into my skills. Alongside Character/Asset creation, which I enjoy the most, I have been working on projects that cover the whole pipeline, i.e., animation, compositing, editing, to push myself more as a 3D Generalist.
Punk Goth Girl
It had been a while since I worked on a stylized character, and the thought of working on one had been bouncing around in my head for a while now. Sometime in March, while scrolling ArtStation, I came across an artwork titled Punk Goth Girl by Concept Artist Max Slavsky. I was impressed by the appeal of the character.
Upon visiting his portfolio page, I noticed he had artworks based on characters from the upcoming game Deadlock. This gave me the idea to approach the character model in a style similar to the game, i.e., toon shading, thick outlines, and some lighting information baked into the textures. Once the style was thought through, it was easy to collect all the references I needed.
Modeling
I started straight from spheres and cylinders, dynameshing the geometry when I needed to combine or drastically change the forms. Starting with as low-poly as possible, I tried to define the primary forms as much as I could at that resolution. Books like Anatomy for Sculptors and Models by John Asaro were a great reference for simple plane changes that take place across the body, which help define the shapes of any character model, be it realistic or stylized.
Focusing on those plane changes in areas like the forearms and thighs helped define the model. In order to define those plane changes even further, I used the Clay Polish tool with the appropriate settings. As for my brushes, I mainly use these brushes to keep sculpting as loose and flexible as possible: Move, Clay Buildup, Dam_Standard, Polish, and Pinch.
As for the clothes, let's start with the grey skull top. It was just a simple extract from the existing chest. Similar to the rest of the body, it was dynameshed and kept to a relatively low resolution. Initially, I kept the top symmetric with plans to retopologize the shirt without the right shoulder. As for the skirt, I started with a low-poly model I made in Blender. I took that into ZBrush to inflate the pleated edges and gave it some volume.
For the hair, I used Blender's hair curve strand system. It helped block out the hair strands relatively quickly. Once I had a hair strand base, I took it back to ZBrush and refined the shapes to match the concept more closely.
Ensuring that all the hair strands were placed on the same axis in the UVs was necessary, as I planned on adding an anisotropic overlay to simulate the look of hair strands. Once I had the UVs of the entire model ready, I moved to posing. I rigged the model inside ZBrush using Transpose Master and ZSpheres, adjusted the pose according to the concept, and gave it another sculpt pass.
Texturing
In order to achieve the painted look, I had to go back to the basics of painting. Maintaining three values: Highlight, Mid-tones, and Shadows. The position of these values would depend on a predetermined light source. I chose to imagine the light source as an overhead noon sun, so highlights would for the most part be right in the centre of the object and the shadows towards the sides and back.
Using the light generator as a mask, I was able to understand how the overhead sun would cast shadows, and it gave me a good start for my textures.
Once I had that, I used the Pen tool to create interesting Highlight areas. Depending on the nature of the material, I would change the softness of the Shadows and Highlights. For example, Skin, which is a smoother material, would have a softer, smoother gradation between the Highlights and Shadows, whereas something like the Leather cuffs would have a harder, sharper gradation. I.e., the blend between the Blacks, Whites, and Greys is smoother in the softer materials, and the same values are more distinct and separate in harder materials. This helps us in distinguishing between different materials, since different materials react to light differently.
To push the textures further, I used the Curvature and Ambient Occlusion maps baked out from the high-poly model. This is why having clean, defined plane changes in the sculpt pays off, as these maps add to the definition of the Character. After adjusting the values of these maps based on how three-dimensional I wanted the model to look, I moved on to shading in Blender.
For shading, I started with a diffuse BSDF as I didn't need specular or roughness values on the model. The values of this shader are run through a float value curve node, which can be altered to give the toon shading shadow falloff. Based on how many steps you add to the curve, the more tones you get in your shadow, leading to some interesting results.
And for the outline effect, I used geometry nodes to invert the normals of the model and extrude them outwards. We can add variation to these outlines by adding more variables to the node graph. Both these two processes are explained best by 3D Artist Kaimuri in this tutorial:
Lighting
The lighting system was very simple, as the textures were already carrying a good amount of lighting information. I added a sun/directional light source as the only light source for shadows. It is important to ensure that the angle at which the light source is pointed is roughly similar to the light source you added in Substance 3D Painter, or it would break the painted lighting illusion.
For a base, I painted a few brushstrokes and plugged those into an alpha channel. The model was rendered in EEVEE with the shadow resolution increased to get sharper cast shadows.
Conclusion
The project took about 8-9 days to complete. I started the project at the start of April, but had to put it on hold until the middle of the month. The most enjoyable part was also the most challenging part, which was painting the lighting information onto the textures and ensuring that the model held its painterly feel and did not feel like a 3D object. The trick was to get the balance between modeling, texturing, and shading, ensuring that all three worked together to achieve the balance the style called for.
Knowing where details were needed and whether adding an element to the model was necessary or excessive. This skill comes from observing our surroundings and other artworks, being able to dissect something that we see as unique and try to understand what truly makes it stand out.
For those wanting to achieve similar styles, Kaimuri's tutorials are great alongside the one mentioned above. Cherylynn Lima is also a great artist to follow on YouTube and Instagram: