logo80lv
Articlesclick_arrow
Research
Talentsclick_arrow
Events
Workshops
Aboutclick_arrow
profile_loginLogIn

Sculpting & Texturing a Broken Orc Bust in ZBrush, 3ds Max & Substance 3D Painter

Cody Alday provided us with a guide to creating a realistic 3D bust of a defeated Orc, shared tricks on lighting adjustments and procedural texturing, and highlighted techniques for enhancing skin wrinkle details and using layers for better workflow. 

Introduction

Hey everyone! I'm Cody Alday, a Melbourne, Australia-based artist currently at Ultimate Studio as a Lead Artist working on an amazing upcoming game that I cannot wait to share eventually.

I have been in the industry for over 14 years, and I vividly remember how and why I wanted to get into it. The whole reason why I got into the industry started when I was in Year 8. I remember playing Rainbow Six Rouge Spear, editing some textures in MS Paint, and seeing the changes in the game. That blew my mind, and ever since then, I have wanted to make games.

I've worked on mobile and PC games; some titles are the Real Racing Franchise and Gods Unchained, as well as a couple of canceled projects. I haven't worked on a lot of titles, but pursuing personal projects, even when the professional projects did not call for it, helped me immensely develop and expand my skills, knowledge and problem solving abilities from characters to environments.

I also want to do something different in this article, and provide big hints and tips throughout the breakdown, and not just talk about the process of the creation. There are plenty of awesome articles and breakdowns that would do a way better job than I would out there. Hopefully there will be some nuggets in here that everyone of all skill levels can take away.

For many reasons, it's important to get the scale measurements correct from the get-go if you are using an existing base head or creating it from a sphere in ZBrush. Here are a few:

  • To get correct material property values, such as SubSurface Scattering. 
  • Having an appropriate 1 to 1 scale from your modeling package into your engine for consistency. 
  • Affecting the use of lights in the scene to have reasonable values. 

An example of this would be that I would import my model into Unreal at an enormous scale; I would have to change the light values and scale to reflect such a large object, which in turn can cause artifacts, such as shadow issues and lighting artifacts.

The rough head scale is around 20cm, so get that right from the start to avoid annoyances later down the pipeline.

I use 3D Max in Meters, which is a 1 to 1 scale to Unreal. A 1m box in Max will be the same in Unreal. I use a primitive at 0.2m to get the head scale correct.

A huge time saver and something to get in the habit of from the start is to set up your scene and structure early so you can iterate and test quickly and efficiently. From naming conventions, folder structure, modeling package setup, and basic painter texture setup to an engine scene with some basic lighting and materials. This streamlines the process from back-and-forth interaction; seeing the model early rather than later on, with more detailing, textures, et cetera, will save you time and testing in the long run.

My folder structure breakdown — having my sculpting, painting, and scene setup as well as baking folder, game-ready assets with appropriate SM_ (Static Meshes) | T_Albedo_Xx (Textures), et cetera.

Changing the light direction and FOV values inside ZBrush helps you see forms from different angles. This shows issues that you might not pick up using the default lighting and FOV. I also set up and imported the model in Unreal and did the same thing, which will help improve the overall sculpture. 

Example of adjusting the light direction in ZBrush. I render the scene to see how the shadows from the forms are cast.

Example of adjusting the FOV in ZBrush. Always good to see the forms in varying FOVs. 

When doing skin wrinkle details, try to make them slightly deeper and more intense than you think. This will translate better to the normal map and give a nicer natural feel to the subsurface scattering in the Engine. Don't be afraid to make them deep (there is nothing a little Botox can't fix later on). While making the wrinkles deep, make the thickness of the eyelids more than you think as well. This will translate nicely by having a strong form separating the eyelid and eyeball as well as shadow casting appropriately with lighting.

Pro tip A: Use layers inside of ZBrush for two reasons. You can delete them by hiding the layer, storing a morph target, then activating the layer and painting in areas with the Morph brush, and you can also procedurally increase the power of the layer for testing.

Pro tip B: When doing wrinkles, sometimes it's nice to add a layer that covers the whole face in a noisy/parish. This helps the brain create wrinkles more easily than without.

The use of layers, in general, is great for testing, proceduralism, and good workflow practice.

Example of using layers and morph targets to remove something on a layer.

I like to use a procedural setup for skin alongside hand painting in Substance 3D Painter. I start with a base tile skin texture to get started, then add different colour fill layers (blueish, redish, greenish, purplelish etc) with cell noise masks at a low opacity to get subtle variation over the skin. This approach is easy to manipulate and can scale to other projects and models easily.

Example showing procedural masking with cell noise to get variations.

I also paint in color zones of the face; there are a bunch of color face theories out there. Usually, different zones can comprise red, green, and blue, mimicking the areas of the skin (more fat, closer to the bone, more circulation areas, et cetera).

Lastly, to add even more variation and nuance, I use more fill layers with a hand-painted mask and a figure 8 style of painting (I learned this from another artist that I cannot remember).

Example showing color zones. Note the consistency of range in the base Albedo.

Image sourced from Google, showing color zone examples.

I keep the Albedo Maps with a soft contrast look, not too bright, not too dark, not too contrasty. This helps with PBR value ranges working well and consistent with different lighting scenarios in Engine.

I also paint in masks to support roughness values and SSS values, which can be tweaked inside Unreal. Having a procedural approach is always beneficial for tweaking in the Engine, from having the ability to have specific SSS values for different areas (lips, ears, etc) to colour and roughness values for specific areas as well.

Image sourced from Google, showing color zone examples.

To support the above, I set up Substance 3D Painter to have additional channels that I can paint the masks into, and adjust the export settings to suit these by dragging and dropping the channels into newly created Output Maps R+G+B. Here, it's a good idea to set up consistent prefix and suffix names for consistency.

Example of new channels and export settings. $textureSet is based on the Texture Set name.

Can rename Texture Sets. This name gets created based on the material name assigned in your modeling package on export.

Take advantage of SubLevels in Unreal, being able to quickly look at your model in different lighting scenarios helps with iteration and seeing if it holds up under different lighting. Sometimes the model looks good in one lighting condition, and bad in another, so you can tweak and understand why accordingly.

Example of different lighting SubLevs. Drag and drop your SubLev into the main level.

Utilizing lighting channels on specific lights and meshes can give you the ability to have certain looks that you want to achieve, such as having a light that affects the eyes only to get more spec highlights and have them subtly illuminate more.

Example of different lighting Channels on the eyes and the specific light.

Take advantage of emissive planes to fake lighting, especially having a specular reflection plane of your choice. Photography uses softboxes, so we can too.

Example of a couple of emissive planes to achieve more specular reflection on the eyes.

Adjust light sizes and radius to get softer shadows and soft specular reflections. You can also adjust the lights' Indirect Lighting Intensity to increase the amount of GI it produces, which is handy to slightly make them seem to have more bounce light on specific lights.

Example of softening the shadows can achieve different looks.

A big thing I notice at times is that the model's skin looks too wet and waxy. A lot of this has to do with the Specular Value. Leaving it unplugged in the material graph will default it to 0.5. Unreal sets Specular at min and max of 0 to 0.08, so a value plugged in a 0.5 will be 0.04, which is 99% of what specular values would be in the real world. Obviously, this isn't a lockdown thing and different art styles will require different looks, but if you feel your model is waxy, set it to 0.5 or less.

On top of that, you can add a high detail specular mask that can be tiled for high frequency, that has a corresponding normal map, that can have even less of a specular value in crevices. This will give that high quality and top tier visual look.

Example of a detailed skin pore map with a corresponding spec map that can be used for higher frequency detailing.

Summary

I hope you have taken away something from this article that you can apply to future projects. Again, this is a guide, so always tweak what needs to be tweaked to get the best results.

Most importantly, have fun while you are creating and learning, and put in the time and effort; nothing comes easy; finish and call work done, and move on to the next project. Looking back over this Orc, there are a lot of things I could have done differently or changed to make it better. But sometimes, you have to call it and move on. If you don't, you will always end up in a rut of not being able to finish work and being able to apply learnings to another project to up your skills even further.

Cody Alday, Lead 3D Artist

Interview conducted by Amber Rutherford

Join discussion

Comments 0

    You might also like

    We need your consent

    We use cookies on this website to make your browsing experience better. By using the site you agree to our use of cookies.Learn more