Leslie Van den Broeck talked about the A Hold on You project, showing how he used cylinders and the Bend Curve modifier to create the hair and how he employed vertex colors to create the shiny effects on the lips and the skin.
Introduction
I'm Leslie, a 3D Character Artist originally from Belgium living in Canada. Currently, I'm the lead 3D Character Artist at Gravity Well, a startup studio founded by ex-Respawn devs.
Before this, I was in principal roles at multiple studios, helping visualize the character art direction in 3D and get pipelines/documentation set up in the R&D/preproduction stage to ensure that the entire character team could get to high-quality results more easily and consistently during production. Before that, I was working at places like Blizzard, Riot, and Larian Studios.
A Hold on You Project
With this piece, I felt like I hadn't done too much personal art in the last few months, and usually around Halloween, I always try to get an artwork done within that theme since I'm a big horror fan. I like the cute but twisted aesthetic and hadn't done anything with the Frankenstein thematic yet, so it sounded like a fun route to go in.
So I looked for inspiration surrounding that theme. In terms of trying new stuff, I just tried to make it about designing something appealing by myself, since that's usually a bit of a struggle for me coming up with things without a concept. On the execution part, it was more of using some of the techniques I learned from previous personal projects.
I started from a super rough sketch of the overall direction, with some compositing done from different sources to get the idea going. I don't want to spend too much time drawing or painting at this stage because I know the idea will evolve inside ZBrush.
I started the sculpt from a sphere as usual. I tried to get the composition blocked out early through the bigger elements and refine it from there. Something that helped was already setting up my camera inside of Blender with some lighting to get the overall mood down early.
I'd send my sculpt over from ZBrush using GoB, and this way I could focus on the parts that mattered and refine from there. If something isn't going to be visible in the final shot, I might not spend much time on it unless it helps inform something on top that will be visible. I'd also do test renders and paint over them to test quickly what I wanted to do.
Individual Elements
The process for individual elements is always to start rough and get the overall shapes down. Then, by the time I feel everything is in place, I do a lower-res ZRemesh and subdivide that so the refinement is easier. It's much easier to get a clean surface from a low-res mesh that you subdivide than from a high-res mesh that you need to polish all the small lumps out of.
In terms of more custom brushes, I would use the Gio Brush by Pablo Muñoz Gómez, Orb Cracks, and then Orb Polish by Michael Vicente. This last brush has been one of the bigger additions to my workflow since it allows you to flatten out very dense topology, but keep a nice smoothness to the transition.
I'll use that one in combination with TrimDynamic and HPolish. Additionally, I use Snakehook with Accucurve enabled a lot to pull out sharp shapes in a controlled manner, and then on most carving brushes like the Gio one and Orb Cracks, I'll use some Lazy Mouse to help me do flowy smooth lines.
For mapping out details, I go into Polypaint and into color fairly early. It helps me get a read on how busy something will be faster, and it is more easily adjustable than already sculpting a detail line. A good example of that on this piece was the scar lines on her face and body were just drawn on for the longest time.
The hair at first was just one big dynameshed shape. Then I used cylinders and the bend curve modifier to shape the strands on top of it. I knew I wanted the final read of the hair to not be too busy, so in Blender, I also transferred and blended the vertexnormals from the base hair shape onto the strands to unify the read better.
Vertex Colors
For my personal pieces that are busted, I tend to skip manual retopo and UVs. Part of getting to do art after working hours is trying to keep it fun and to the point for me, so my workflow for non-professional art has been all about vertex colors and materials/shaders inside of Blender.
The node-based material system inside Blender makes it easy to help push up the quality of the sculpt in a procedural manner. In a professional setting, I'm a stickler for cleanliness, though, so I definitely don't want anyone to take any of this information and think it will be something that immediately translates to a game-ready pipeline asset, unless maybe for visdev purposes.
So there is no actual texturing going on other than what's painted as the vertex colors. The way I will approach, let's say, having the lips shinier than the skin is if there's enough of a color difference there, then I will use a color ramp that I adjust to isolate that part into a mask from which I can drive the roughness value. Below is an example where I use everything that's lacking green as a mask to make things shinier there:
If that's not possible, then I might add an extra vertex color channel inside of Blender and just paint a mask there that I can use inside of the material. I also like to blend in some additional highlights through matcap shading and then paint a little sphere that does what I want it to. There are tons of ways you can create interesting effects with this by blending it in as either speculars or into the albedo directly with mixnodes.
Aside from that, if I do want a tileable detail, I can usually get away with procedural box mapping that doesn't rely on UVs. Because I tend to use it subtly, it's not much of an issue.
Finally, you can use Ambient Occlusion as a procedural mask for different things, like making surfaces rougher in the shadows to control the shininess, etc.
Lightning and Animation
It starts with a simple 3-point light setup: one key light, one rim, and one fill light, with the ambient fill control through the world lighting to determine how dark I want my shadows to be.
From there, I usually experiment by rotating the lights and maybe add ones in certain areas to create a fill light or have different falloffs to highlight an area. The lights Radius will help soften or sharpen your cast shadows, and Spotsize and Blend will help fade the borders.
I'm not an animator, and I keep learning that part of the field from the people who dedicate their lives to becoming amazing at it. So, usually, I resort to procedural ways where I can move the model enough to make a little loop, but it's held together with duct tape if you look behind the scenes.
Most of the models get imported into Blender at their highest subdivisions, so that also means the viewport performance does not support real-time feedback on the animation. This also means that adding an actual skeleton with skinning would be extremely slow.
Additionally, making adjustments to the mesh in ZBrush and updating it in Blender tends to break some of the skinning, so it's better to avoid it. A way around testing your animation properly is doing a viewport render animation with your viewport in solid mode, with your camera view toggled. That way, you'll render in a faster manner and can just focus on whether the animation is working.
So what I tend to do is separate the model enough around the points where I feel I want to move the model a bit, as if it were a deformable action figure. An example is that the head and neck are separated so that I can just add an Empty Gizmo around the point I want to rotate the head, and then parent the head and everything that's connected to it to that Empty.
That way, I can just focus on animating the Empty, and whatever updates happen to the model won't break any of the animations I've already done for the head.
You can either animate it by hand or use modifiers inside the graph editor to procedurally move it. A good one is the built-in functions, so you can add sine waves, etc.
If I do want a wavy soft deformation on a part, I might use a wave modifier on the entire mesh and adjust the settings so that it moves the way I want it to. Things like waving hair strands or, in this case, the floating hands used this technique in addition to also moving a Gizmo that the hand was parented to.
You can always control the modifier intensity in only select parts by using a vertex group and doing a quick gradient falloff. Just keep in mind that if the geo changes, it might not always keep that part intact, so I tend to save it until the end.
An additional modifier to look into is Displace. You can do things like wobbles, etc, and drive them with an Object or Empty to get interesting results. Finally, for things like eyeblinks, I'll use a Shape key and animate that. It's easy to, in the end, create a version of the closed eyes inside of ZBrush and send that over.
Then you can select the actual head and next the eyes closed one and press Join as shapes in the shape keys menu. If you have lashes that need to follow you can do the same thing by having a closed version, or you can apply a surface deform modifier to them and bind them to the head.
This last method is pretty heavy on the CPU and doesn't give perfect results, but sometimes you can get away with it. A nice way to animate all of the elements at once is to bind the different shapekeys to a custom driver and then just animate that one.
From here on, you can create whatever shape key you want for whatever animation you'd like to convey, like subtle smiles. As you can see, it's a combination of tricks to get some basic animations out of it.
Conclusion
The biggest challenge was getting it started. Art creation is in a bit of a weird spot at the moment. On one end, we are always trying to improve and tend to be very judgmental of our own work, but then also with AI lurking its ugly head, you start questioning what the point is at times.
At the end of the day, I enjoy art and I love the process, so I'll keep doing what I do even if something or someone can do it faster and better than I. Getting to learn small things along the way with every project and being able to finish it is what drives me, even if it's not pixel-perfect. I learn from it and take it into my next piece.
My advice to new artists would be to find the fun in doing it first because that makes it easy to do it a lot. Find concepts that inspire you and try to translate those into 3D if you have a hard time coming up with your own. Because only by doing it a lot will you get better.
Also, don't compare yourself to people who've been doing it for years or decades, but look at them as inspiration. Find a community of artists at the same stage you're at that have the same interests and lift each other through both encouragement and feedback.
Finally, don't be afraid of judgment. If you get feedback from someone with good intentions, then it's something to take and learn from. If it's feedback or comments with bad intentions, then that usually says more about the person giving it and their insecurities than it does about you, so take the useful part out of it and ignore the rest. Art should be about community and sharing what you love.