Thank you Richard. If I find some more ways to improvise for optimization, then I'll tell you definitely
would love to see the substance graph.
The visual shader system will be great for modular asset pack makers. You see some incredibly high quality modular asset packs on the Unreal store, whilst the ones for Unity are so-so, which I think is down to the ease of creating shaders on Unreal vs Unity. Alternatively you have to make your shaders in something like Uber Shader system which immediately splits your customer base.
Celia Hogan did an amazing breakdown of her wonderful hand-painted projects, which she sculpts with Zbrush and Substance tools.
My name is Celia Hogan and I’m from Greater Manchester in the UK. I work as a video games artist, primarily on 3D environments but I also do a bit of concepting, user interface design and basic character art when needed. I have worked at a couple small independent studios primarily on games such as Unbox but also on some training simulators.
I’ve always wanted to work as an artist and I originally planned on pursuing the traditional route of fine art but it was whilst training in traditional art on an Art foundation course that I realized it was the art in video games that really inspired me. So after completing the course I enrolled onto a Games Design course at Futureworks in Manchester. The degree introduced me to the game development process and allowed me to start specializing in game art. A few months after graduating I got my first industry job at an indie studio which mainly involved concepting and 2D in game art assets. I later began to focus more and more on the 3D environment side but I still love making 2D art!
When creating hand painted 3D art and giving it a more 2D look I think most of it comes down to the diffuse textures and exaggerated forms. Knowing how to paint does help a lot with this art style as you need to pretty much recreate the way an artist has painted the concept but across the whole UV layout which can mean a lot of improvisation. Photoshop has great painting tools however and there are a lot of free brush packs online that can go a long way in achieving this style. I like it when you can see some rough textured brush strokes in the diffuse giving it a pastel or oil painting like effect.
I find 3D meshes work best in this style when they have lots of organic variation in the mesh through the use of tapering and lots of slight curves to their edges. With a nice chunky non-uniform mass the objects have much more character and a more interesting hand-crafted sort of appeal.
For modelling I use 3ds Max as I really love the modifier stack! I generally create base meshes in 3ds Max and try to import them into the Unreal Engine loads so I can test the look and feel of them in game before committing to them. I try to be as non destructive as possible in 3ds Max by keeping my modifier stacks intact so I can do a lot of trial and error. My process varies depending on what I’m doing, I’ll work from standard primitives for blocking out basic forms as well as use splines with loft, sweep or extrusion modifiers to achieve a lot of curves and bevels. For getting really nice clean curves and bevels the Fillet tool in the Edit Spline modifier is really useful.
To add more organic curves I use Soft Select and the Paint Deformation Tool – basic as it is – in the Edit Poly modifier. If I also need to add some more chunky weight to the mesh or accentuate the silhouette a bit I use the Push and Taper modifiers.
For most models I tend to settle on the base mesh in 3ds Max before moving to ZBrush as I tend to work faster in Max, so my Zbrush edits are usually just for creating some nice custom normals to add more interesting edges and surface details. This way I don’t usually have to retopologize after sculpting and I can get onto making a quick clean bake.
- How do you work with normals? How do you bake them, how do you create them and maybe give us some tips on how these things actually help to make the asset look a little better?
For the normals I now do all my baking in Substance Designer, I use cage meshes a lot of the time as I find it gives good reliable results. With the Push modifier in 3ds Max it’s often quick and easy to make cages.
I use a mix of 3ds Max and Zbrush to make high poly meshes depending on how organic or stylized the asset is. In 3ds I’ll do cleaner hard surface stuff using the Edit Poly and Turbosmooth modifiers with control loops to keep the right edges sharper. In Zbrush I sculpt the more organic stuff or stylised stuff.
For sculpting I rely on Trim Dynamic and Fast Mallet a lot to bevel and chip away at edges. I use Dam Standard or Slash1 a lot for adding scratches although I realised recently there’s some nicer looking brushes for doing this in the Orb brush pack by Michael Vicente which are awesome and free! When adding these details I like to keep thinking about the narrative of the object and how any wear and tear or blemishes show its history and give it character.
In my personal projects I like to bake normals as they not only help the meshes light so much nicer in engine but they are also super useful for using in Substance Designer so I can generate stuff like edge wear or dirt build up quickly. Whilst baking normals I will also do other useful maps for Ambient Occlusion, Curvature, Position and World Space Normals.
When it comes to diffuse textures I usually start off with having the materials the asset requires set up in Substance Designer which I then apply to the mesh through a material ID map and Multi-Material Blend node. I then use baked maps to power nodes for scratches, triplanar mapping, edge wear/highlighting and dirt/rust build up. I used this same process when doing the Gladiator’s Armory project as a way of getting a quick first pass on the diffuse texture.
With the helmet I used the Triplanar node to project a Cloud noise node to the mesh and then used curvature maps fed into Slope Blur nodes to add edge highlights. I used ambient occlusion maps with some noise fed into a Histogram Scan node to highlight areas for blending in some rusty orange tones. I used the G channel from the Position map to get the Z gradient which I subtly overlaid onto the whole diffuse at the end…Admittedly my Substance graph is pretty messy as I wanted to add the edge highlights and multiplies from the AO for the different surface types separately. It meant stuff like the metal would have harsher edge highlights that the curtains etc. I probably could of set this up more
Efficiently but at the time I didn’t think anyone would see it 😛
The smaller assets like the barrel had similar but slightly simpler graphs for creating first passes on the diffuse:
These first passes were pretty quick to set up and created a great starting point for painting on top of. The bulk of the work on the diffuse textures was done in Photoshop though I did use Substance painter occasionally if there were some awkward UV seams.
I spent quite a bit of time experimenting with painting the diffuse for the Helmet. At first I wasn’t sure how close I wanted to go to the concept in the texturing work, and at one point I wanted to paint exactly like the concept but in the end I settled on something slightly softer. I put a lot of colours down first with textured custom brushes, picking out the various hues of bluey greys and oranges in the concept. I then used the Smudge Tool to blend and soften the colours and went back into the edge highlights and then re-added some textured brush strokes by colour picking the existing colours. Along the way with this process I had multiple adjustment masks set up to mess with the colour balance, saturation and contrast.
Texturing & baking
Substance Designer has become one of my main go to softwares in projects. As previously mentioned I use it for baking and setting up materials. You get more out of Substance Designer the more you use it as you steadily build up a material library. It’s all non destructive work as well so it’s easy to go in and make previous materials work for new assets with a few changes – the only kinda difficult bit is making sense of the really big networks you set up ages ago and can’t really remember!
Once you have a few materials to work from in Substance Designer it really speeds things up, especially at the start of the project when you’re moving from the block out stage to a first pass on the assets and setting up their materials/textures. I pretty much always have it open when I’m working in UE4, quickly dipping into different graphs to make tweaks and re-exporting the textures to engine. Using this method instead of relying on photo textures gives you the opportunity to create something unique and you learn a lot from studying photo references and recreating their surface properties through the nodes.
As for Painter, I haven’t used it as much as Designer but it’s been awesome on my past couple projects for working around awkward seams and adding in more intricate details that I couldn’t do as easily in Designer. For the Kalinga shield I created the various materials for the wood and weaves as a first pass in Designer and then went into Painter to properly work into where the untreated wood is exposed due to damage and wear.
For this stained glass window I started off with a lot of reference images and sketches. This asset was mostly done in Photoshop on a bunch of layers and a lot of adjustment layers for tweaking the colour scheme. I still personally find the painting tools in Photoshop easier to work with than Substance Painter’s, so with all the intricate details I wanted for this texture it felt more efficient to use Photoshop. I took my layers and saved off two images to use in a Substance designer graph in order to generate normals and roughness maps.
Image A has black values where the lead is and the base colours of the glass panes so I used that for a base colour as well as generating a mask for the lead and glass material blend. I also used the mask with a bevel node for the normal map so the lead as a slight bump to it. Image B is where the stained glass has been painted on so I just multiplied it onto the base colour and subtracted it from the roughness a little to add some surface variation. It’s a really basic graph as I spent most my time in Photoshop painting and endlessly debating the colour scheme!
For creating renders I usually have my main camera angles in mind already from doing sketches at the start of a project. Doing quick thumbnail sketches of how the scene could look helps me decide on an interesting composition to work towards throughout the project. I get cameras set up in Unreal early on so I can constantly test how assets are working towards achieving the flow of the composition in mind. I like to render projects in UE4 because I’ve been using it at work for the past couple years so I can get materials and scenes set up pretty fast. With the right post process effects and lighting UE4 renders can come out amazing I think.
Baked lighting makes a massive difference in Unreal if you have the time to make well laid out lightmaps. I tend to do this towards the end however as I generally work with all the lights set to dynamic until I’m ready to start refining the lighting. I always have either Atmospheric Fog or Exponential Height Fog set up along with some Sphere Reflection Captures. My main go to post process effects are Contrast, Saturation, Vignette, Ambient Occlusion, Bloom and Depth of Field. For my mages study scene I used loads of point lights for candles along with reflection capture spheres and flame particle effects. Taking the time to work on baked lighting for this scene made a huge difference!
When it comes to rendering a single asset or a small diorama of assets, I follow the tips in Jack McKelvie’s tutorial ‘How to make UE4 look as good as Marmoset’, which is a great fairly quick way of getting some nice renders! This involves using Osman’s ‘Showcase’ blueprint for setting up HDRI’s, setting textures to not mipmap and setting up post processing effects to increase screen space reflection and ambient occlusion quality. This tutorial also shows you how to set up a ‘Sharpen’ material for the post processing which really helps when rendering metallic materials.
Other than that I try to frequently review my renders in a small thumbnail form so I can better see whether or not the composition and lighting is actually working well or if it’s becoming messy and unreadable. Another old trick is flipping the image horizontally to refresh your eyes, it’s something that probably more applies to 2D art but I think it kinda helps with 3D scene compositions too!
Celia Hogan, Environment Artist
Interview conducted by Kirill Tokarev.