Optimization of Stylized Game Assets

Julian Elwood did a breakdown of his stylized scene, which he submitted to the Blizzard student content.

Julian Elwood did a breakdown of his stylized scene, which he submitted to the Blizzard student content. 

Introduction

Hi, My name is Julian Elwood. I’m from Denver Colorado and I’m in my last term at Gnomon School of Visual Effects. For the last couple years at Gnomon, I’ve been improving skills, learning, and discovering new techniques. I finish several projects a term as well as run game Jams for other students to design games in 24-48 hours! Most recently I was featured as a runner-up in this year’s Blizzard Student Art Contest for my Haunted Chicken Coop piece!

Cooperation between friends and technique sharing has been SO integral to my improvement as an artist. Any time I am feeling confident in something I’m working on, I always take it to the handful of people I know will give me a REAL critique. I consider this an integral part of finishing my projects, and wouldn’t consider something finished without getting some good feedback or critique from my friends or mentors. 

Stylized work

Stylized work often comes with a boat of puzzles.

Silhouette design is huge, keeping shapes crisp and structured, and keeping a hierarchy of focal points in your concept.

Having fun in texturing and making up for the loss of model resolution with high detailed textures. And also knowing when to bounce back and forth between modeling and texturing throughout the process to make both the model and texture push each other and ultimately look like your piece is ready to jump off the screen alive!

Optimization

Most of my stylized work is built to constraints for games, so optimization has to be absolute. 1024 textures and models that are often under 5000 tris for characters.

While Creating this style of work it is very important to know when to bounce around between texturing and changing your topology to have both build each other up.

Something many people starting in stylized work don’t realize is how much freedom you have to push and pull your UV’s after you’ve started texturing.

The key process here is:

  • Get the first pass done on the texturing. Once the texture is looking pretty good, take the model back into the modeling software, then with the diffuse texture applied in the viewport, start removing all topology that is unnecessary for holding silhouette. Tools that have “preserve UV’s” are key here, while moving around vertices.
  • I will usually pop up triangles just around areas that will show around the silhouette edge of the model, and keep the surface flat for similar detail inside the silhouette.

Here’s an example sword:

 

Materials

Substance Designer has been super awesome to implement into my stylized workflow. Whenever I start on a new environment I try to begin by creating all the tiling textures I will need.

My pipeline for creating environmental textures:

  • Create or import basic shapes needed either with hand painting in photoshop or from nodes in Substance Designer.
  • Design texture composition with shapes in black and white, using tile sampler nodes and masks.
  • Use Gradient Maps for first pass textures.
  • Then bring texture back to photoshop and put in some final hand painted touches.

For an example some stylized grass.

Pretty straightforward to create shapes in Substance Designer using blends and transforms.

You can use different normal maps with the vector map input to ‘groom’ your textures and edit overall composition. Vector maps will rotate grass blades in a certain direction and define the flow of the blades.

I usually layer several tile samplers like this one to start adding depth the texture.  This grass texture is just 3 shapes using tile samplers to have a bit of breakup. Then finally I always add some piece of tertiary detail that really breaks up the texture, making it more interesting. For example, the clovers in this grass. If you want a good looking texture, add another texture!

When creating procedural stylized textures I use only a handful of nodes, Edge detect, Curvature, Gradient Map and some direction warps some of the most common. Using Edge Detect and Layering Curvature into your base color will pull out edges and make the forms look more illustrative.  

I love using Substance Designer for this type of work because, once you have your graph for a few textures, you can very easily iterate on blends, colors palette, placement, scatter, and overall composition with a few sliders.

Key things to remember while creating stylized Procedural Ground textures:

  • Remember to design composition, just enough for it to not be recognized as a tileable texture.
  • Think about Primary, Secondary, Tertiary detail. For example in the grass, primary detail may be the larger plant shapes and the clovers, the secondary is the brighter grass shapes, tertiary is the smallest darker points of grass. When adding the rocks they become a primary detail, the grass sinks to secondary.
  • And Always ALWAYS looking at reference!

You can apply many techniques used for realistic procedural texturing, with stylized it’s more about knowing where to put more and less detail and really designing the shapes.

Most of my textures are done procedurally, outside of things like the skybox and VFX cards, which are completely hand painted.

I usually start with a ZBrush sculpt, then either export a ‘grabdoc’ from ZBrush for tiling textures or bake the model onto a low poly version for props.

Then, using the normal or height map I have, I will take it into Substance Designer and Experiment with color palette using a few custom nodes, gradient maps, and some basic noises. 

I made this example sword for a breakdown:

This sword is completely procedurally textured, giving great functionality to change each individual material.

Here it is really key to put some crisp detail in your sculpting, as the curvature and normal maps are going to be driving the texturing.

I will usually bake straight in Substance Designer, for this process it is necessary to bake a normal, world space normal, position, and color map. Coming from Zbrush you can easily bake color information by coloring by polygroups.

Nothing too fancy is happening in the graphs, I am just breaking down textures into Base Color, Midtones, Highlights and a lighting pass.

When Procedurally creating prop textures some basic key tips:

  • Blend 3 colors or gradient maps, base color, midtones, and highlights for base colors.
  • Multiply a saturated AO map to colorize shadows.
  • Blend several Light nodes for fine-tuning color and gradients.

Here are some graph tricks I am using:

  • First is base color. Use the baked normal map to create a Smooth Curvature node.
  • I always use a curvature node made from a baked normal map, as these results are better than a baked curvature map. I will drive gradient maps with the curvature, and blend 3 graphs like this one together for the base color, midtones and highlights, expanding the mask for each one. The light node can be very useful when driven by both world space normal and a plain normal map, to generate masks for your different colors.

I use position map bakes to get a top-down gradient in your model, adding a focal point.

In hand-painted textures you often get huge variation from brushstrokes, we need to fake that in procedural texturing with something like this. Putting a spotted tile sampler pattern into a gradient map to get lots of hue variation. Then you can apply it with a blend or with a 3d planar projection like I am here. I will then use a directional warp to push the ‘paint strokes’ in the form of the model. Then just blend this pattern into the base color subtly.

I usually don’t input any normal map or roughness into my textures, just base color.

I have a complete breakdown and the custom stylized texturing node I use on my Gumroad.

Aurora borealis

These days working in UE4, it’s very easy to improve your environments with a few simple effects. Unreal Engine’s VFX tools are very easy to pick up with a few youtube videos.

I usually add effects last, after I am working and just imagining what the coolest thing to add next would be! I’ve done most of my effects with the simple particle emitter settings in UE4 combined with panning textures.

The Aurora borealis, for example, is a simple combination of a blurry tall painted shape, and a panner node in the UE4 Material.

Assets

I do tons of Zbrush sculpting, most of my assets start as high rez sculpts. After the High Poly is done I will decimate it and retopo in Maya, creating a ‘medium-high res’ to bake onto.

I will then bake either in Marmoset Toolbag, or Substance Designer and get a normal map, world space normal, position, and color mask maps. Then it’s into Substance Painter or Designer to finalize textures using the techniques I showed.

After that, I will usually go back into Maya with the textured model, and edit topology one more time, removing anything that is not contributing to silhouette and cutting and extruding out objects from the texture. Once again, it’s important to push and pull the model after the texture is on it to make sure you’re silhouette and texture are being used to the maximum effect.

Mimicking 

Whenever I am working on something inspired by the Blizzard style, I really think it’s important to follow your gut feelings on each aspect of the piece. If I have any hesitation on a detail or composition, I know it isn’t right or needs to be changed. For stylized work, it’s almost closer to illustration than game art, and it is important to put your mind in that space. Once I started designing my scenes like paintings they became much better. Think of Composition first, color palette and shape language before getting into the technical 3d work.

Specifically for the Blizzard style, color palette has been the largest area of study for me. Really making sure to find qualities and styles that match the decisions that Blizzard makes in their Palette. Saturated shadows, Gradients fading toward the ground, clear focal point, sharp detail, and color dodged highlights are all key aspects of Blizzards style. As far as design language goes, the more outrageous the better! I think a lot of this comes down to fundamental art skills though, studying shape design and form language and understanding composition is really essential to good stylized 3d art.

Once again, critiques from my friends and teachers are so integral to the work I have been talking about, and I get a lot of help from artists on 80lv too! I encourage everyone to get critiques often and build as many foundational skills as possible.

If I can answer any more questions I’m always open to helping other artists. Message me any time.

Julian Elwood, Student at Gnomon

Interview conducted by Kirill Tokarev

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