04 March 2021

Arachnis – Stylized Character Art Breakdown – Piter Hillewaert

06_Presentation_05-scaled

About me:

My name is Piter Hillewaert. I graduated in July 2020 after studying Game Graphics Production at DAE Howest in Belgium. I have been following all the previous Artstation challenges closely, in awe of the results that people would bring in such a short amount of time. Never had the guts nor the time to take a deep dive. But then the stars aligned. A new challenge was announced. I had time and nothing to lose. I grabbed my Wacom and jumped.

For more of me visit my Artstation: https://www.artstation.com/piterhillewaert

References/Inspiration

Occasionally, usually around Halloween, I describe myself as the world’s worst horror movie watcher. But, while I’m absolutely terrible at being scared of CGI terrors, I still have a tendency to gravitate towards darker subjects when I start a new project.
In previous works, I already explored my fear of the watery depths, so naturally, it made sense that for this challenge another big fear would be the focus: spiders.

Xu J’s (https://www.artstation.com/artwork/OodWEb) concept became the main artwork as a base for my project.

01_References_01

To get a better read at the different forms I made a quick overpaint. This helps with figuring out how to tackle different parts and where I might run into issues.

01_References_02

Sculpting

While sculpting I keep repeating 2 principles in my head:

“Primary shapes, secondary shapes, tertiary shapes”
“Sculpt, don’t draw”

The first idea is one that is applicable to most art. If you take it step by step, first the big shapes and then the smaller shapes you’ll end up with a better and more readable result.

The second principle is more about thinking about how something works when sculpting. For example, when sculpting wrinkles in a forehead you could take the lazy route and just draw them on with a DamStandard Brush. Alternatively, you could sculpt them in. Sculpt the form around the wrinkle and the wrinkle will come into existence. If you look at the actual skin on a human head, it always remains consistent. If a wrinkle creates an indent, another part next to it should rise.
With these two principles snugly at the front of my mind, I start sculpting away.

Overall the sculpting process was mostly smooth sailing. However, a few aspects took some trial and error to find a solid workflow. For example, when I started working on the biting cocoon on her head I quickly ran into some issues. Using the classic route of carving in cracks just didn’t give enough depth. I had to find another solution.

I then started experimenting with breaking the biting cocoon into different pieces and found a working system

03_Sculpting_01

1. Get a reasonably clean base with a high polycount and mask a section that will become your first piece.
2. Give the masked piece a new set of polygroups by using “Group Masked” and select that polygroup. At this point the piece should be the only thing visible.
3. “Close Holes”. This will give a bit of a messy result when looking at the inner topology but at this point that really doesn’t matter.
4. Repeat until the entire biting cocoon has been broken into pieces.

At this point, I did some tests with sculpting on top of the broken mesh. This worked fine and the result was wat I was aiming for in the beginning. But my poor laptop wasn’t all too happy with a high poly mesh without subdivisions. I decided to retopologize every part to get more control and to prevent my laptop from turning into a bonfire.

03_Sculpting_03

⦁ Mask apart and make an extraction.

⦁ Select the top polygroup and hide the rest. “Delete Hidden” will take care of those hidden parts.

⦁ Now you have a messy plane in the shape that you wanted. To clean this up simply Zremesh until you get the desired density.

⦁ The last step is to use panel loops to give it thickness. Lower the number of loops (I usually set it to 2). Put “Polish” on 0. Tweak the “Bevel” and “Thickness” to the amounts that you want.

This will give you 1 ready panel. Repeat for the other panels and you’re good to go!

Most of the other sculpting was smooth sailing. Overall, I tend to keep it simple in terms of used brushes. Move, DamStandard, Orb_Cracks, Clay_Buildup and hPolish covers about 90% of my sculpting.
When I was finally happy with my primary and secondary shapes I started to sculpt in the tertiary details.

In this step, my aim is to make everything feel more alive and used. Add storytelling elements and imperfections. Move and deform some manmade assets to show some human error.

03_Sculpting_04

Here is a full timeline of my sculpting process:

Uving + Retopo

For the retopology and UV’s I didn’t do anything too fancy. I’m used to doing retopology in Maya and I feel that it works well. I usually start with a base retopology while keeping it as simple and low poly as possible. An arm starts out as a simple cylinder for example.

Next, I’ll add more loops in areas that need to deform the most (joints). As a final step I’ll go in and cut some extra edges in between loops. Just to make sure the silhouette has all the details necessary without an abundance of polygons in less extreme areas. Typically, this is especially the case with round objects. Cutting in the geometry and adding triangles shouldn’t give too many issues with skinning because you can skin the vertices in between loops in a 50/50 way to the surrounding vertices.

04_UV_01

For the biting cocoon I had 2 options. Either slightly rework the topology I did for sculpting or make a new more optimized one where I would merge everything together and let the normal map handle the cracks. I did a quick baking test while still sculpting to see if merging all the high poly parts together would work with a bake. That worked perfectly, which meant that I could make a very optimized low poly version resembling a bit of an onion.

04_UV_02

The rest of the retopology is basically the same. Pour yourself a hot beverage, light some candles hire a violinist and get going. Piece by piece, coffee by coffee. Until, finally, you reach the end:

04_UV_03

After going over every part, optimizing where possible and adding edges where necessary I could start on the UV’s.

The main thing with UV’s to keep in mind is that they are tightly packed and have as many straight lines as possible. Diagonal lines give antialiasing issues and big empty areas are just a waste of data.

One thing that a lot of character artists like to do is straightening the UV shells as much as possible. This will give some stretching, but because the stretching is usually pretty uniform it’s not a big deal. The packing advantages that straightening brings with it outweigh the small issues that stretching gives.

04_UV_04

Something else that I used here is to stack the spider legs UV shells. You won’t be able to texture them all unique. However, because they will be posed differently anyway nobody will ever notice. Characters usually have most pieces unique because very quickly it becomes very obvious when something is sharing UV space. However, in cases like this it’s nice to be able to get away with it and get some extra optimized UV’s.

A final step in the packing process is rotating all the pieces in a logical way. If your UV’s follow the flow of your character nicely, you’ll have an easier time texturing. Directional grunge maps won’t have to be rotated to fit every UV shell. Prevent a major headache while texturing and rotate you shells. The easiest way of doing this is adding a nice texture checker. After rotating everything the right way it should look something like this:

04_UV_05

The challenge allowed us the equivalent of two 4K textures (e.g. 8 x 2K was allowed as well). Which is plenty of texture space for my character. However, I wanted to keep it optimized so instead of splitting everything in too many textures (which means more draw calls in a game setting) I decided to go for 3 texture sets.

1 x 4K for the body
1 x 2K for the armor and biter
1 x 2K for the webbing and cocoons

In total, we were allowed 100k triangles. Again, I tried to challenge myself to keep it lower than that and only use what I needed. In the end, I used 51 419 triangles in total. Character, props and webbing combined.

04_UV_06-scaled

Texturing/Substance

Texturing is always a daunting task. The baked base you’re starting with often looks pretty disappointing in Substance Painter compared to the satisfying clay renders of your final sculpt. But it’s a step that you’ll have to go through and will pass. Texturing stylized assets is strongly dependent on the style you’re following. My usual go-to is one that is close to what Rare uses with Sea of Thieves. A full PBR texture style, no hand-painting but adding a touch of that hand-painted feel in there using tileable grunge maps.

I usually start with a variation of a base that I learned from 3dEx (https://www.youtube.com/watch?v=Z7nwuTkvnQc). It layers different masks on top of each other focusing on the Base Color first. Most of these are variations of a mask with a fill layer, either an Ambient Occlusion or a Curvature map in there, and some Levels to tweak it exactly as you want it.

05_Texturing_01

Next, I’ll use parts of my Base Color to define my Roughness. Deep scratches and dirt should influence how rough a surface is. Looking at references is very important for this step. Throw some extra subtle roughness variation in the form of a grunge map in there and you’re good to go.

For PBR assets the rule usually is that metal objects are either metal or they aren’t. It’s 0 or 1. For this project, however, I decided to experiment a bit with grey metal values. I wanted to give a feeling that parts were made from the outer shell of an insect (or spider) called chitin. It isn’t metal, but it shines drastically different than plastic surfaces. Adding a bit of grey in the Metalness gave it that little bit of special effect that seemed to work pretty well.

As a final touch, I added a few layers on top of the entire layer stack.

First, I added an Ambient Occlusion mask with a dark color to really push the stylized look.

05_Texturing_02

Next, I add a similar mask on top with a bit less range. This one is a dark saturated blue. This is a trick that helps tie the entire character together. It’s also something you should give a go on basically everything you make. Sometimes it might not work, but often it does way more than you’d expect.

05_Texturing_03

And finally, I added a color layer with a Lighting fill layer as the mask. Adjust the mask so it hits only the top left part and give it a subtle warm color. Next do the same with a reverse of the previous mask and give it a cool color. Keep everything subtle.

05_Texturing_04

After adding all these layers, a bunch of tweaking, going back and forth and a touch of imposter syndrome, we’ve reached the end of the texturing process.

 

Material:

05_Texturing_05

Base Color:

05_Texturing_06

Roughness:

05_Texturing_07

Metalness:

05_Texturing_08

Rendering and Presentation

The entirety of the rendering and presentation step is one that I always really enjoy. At this point the character really comes together and all the hard work you did finally pays off. I like to spend a long time tweaking everything here. Ideally over a few days to give your eyes some rest in between.

For this project everything was done in Marmoset Toolbag 3.

06_Presentation_01

I like to keep lighting as simple as possible. As soon as you start adding 30 lights you lose your directionality and control at the same time. Building it up I started with a base 3-point lighting setup.

Just to get the character visible. The detail lighting pass is there for the dramatic effect. Add light where it makes sense (inherent lighting sources) and where you want the viewer to look. Usually, for characters, this means that the face is brighter lit than the feet. Nobody cares about the feet.

06_Presentation_02

I like to use a bit of width on the shape of the lights to give a nice soft shadow. This gives it a bit more of a cinematic look instead of the harsh classic “gamey”-feel.
Toss a very subtle bit of fog in there as well. This helps tie everything nicely together.

A pinch of Depth of Field for the dramatic effect layered on top, some subsurface scattering for a touch of realism and a tiny bit of emissive in the eyes and tendrils. And that’s it.
Underneath is my full rendering process in one video. You can clearly see how I go back and forth between both the textures and lighting. I tweak the pose multiple times to get it both closer to the concept and more dramatic.

And finally, I crank up my settings for the final renders. Resolution was set on 4000×4000 for this piece and the shadows on max. Those are little things to push the most out of a piece. The disadvantage is of course that your renders take longer, and your pc might become fit to bake some eggs in the process.

Without further ado here are the final renders:

06_Presentation_05-scaled
06_Presentation_06-scaled

Conclusion

We have reached the end of the journey. And what a journey it was! The entire Artstation Challenge was an amazing learning opportunity. One that I really enjoyed while it lasted. If the stars align again, I’ll definitely join the next one as well. I might even give the stars a little nudge here and there to help with their alignment.

For everyone still debating whether to join the next challenge or not, jump. Take the deep dive, with the aim to learn something and enjoy the ride.
For me, there is already a next project on the horizon. Texturing my “Whispers of the Abyss” sculpt has been on my to-do list for a few months now and I’m eager to start.

https://www.artstation.com/artwork/3dmrED
A special shoutout to everyone who gave me feedback and helped me along the way, couldn’t have done it without you all!

Thank you for making it to this point, I hope you learned a thing or two!
Interested in future (and other) works from me, have a look and follow me here:

https://www.artstation.com/piterhillewaert
https://www.linkedin.com/in/piter-hillewaert