My name is Bo Chicoine, I’m 34 and I’ve had a somewhat varied career so far working for Animation and Gaming companies on a range of projects from Indie Games to internationally-acclaimed 3D TV-shows. I’m currently a 3D Environment Artist at Black Shamrock, working on an unannounced AAA game for PC/Console in Dublin, Ireland.
I can trace my interest in 3D back to my childhood, as my family moved to the UK from the US before I was born, we lived in a remote part of the highlands in Scotland surrounded by mountains, forests, rivers… I was lucky enough to have access to a Macintosh when I was a kid, so during the long summers, I would spend countless hours exploring outside and then playing games until my natural curiosity drove me to start digging through their code and graphics and just pulling them apart to find out how they were made. I think I was about ten when I discovered my first sprite-sheet. I began playing with level-editors for first-person shooters and getting inspired by the atmospheric nature of FPS games like Half-Life and Marathon. I loved the idea that players can have an amazing experience without leaving the comfort of their home. Shortly after I discovered Milkshape, it was a 3D program and I remember just being in awe of the possibilities, spending countless hours learning how to model, texture and even rig. It was the perfect introduction into the world of 3D, and I went on to study it more on a Computer Arts course in Abertay University, Dundee (The home of Rockstar games and the creator of Lemmings).
Around this time I made a DeviantArt account and began just posting things, from 3D props and sketches to fully rendered worlds, anything I could think of really. After graduating I started engaging with the community more and trying to build a following. I remember making friends with a big influencer on the site who regularly recommended artists to be featured, it was through them that I got my first recommendation and was featured in a “daily deviation”. Literally I went from having a few hundred views to thousands overnight, it was like having a big door open up in front of my eyes and as a result, I ended up getting freelance jobs which really launched my career. Needless to say, I’ve been chasing that feeling ever since, pushing myself to improve my skills and really get the images out of my head and onto the screen.
Discovering Game Art Institute
I first heard about the course through a friend of mine, he showed me some talks by Ryan Kingslien and I was instantly struck by how he spoke about art and motivation in a really inclusive and approachable way. At the time I had been struggling with pushing through a barrier in my skills, and the course seemed like a perfect opportunity to “level-up”, so in August 2018 I joined the Environment-Art Bootcamp in order to learn from the pros. The classes were great for keeping me focused and to just put in the hours needed, Ryan is an amazing motivator and really knows how to inspire people to do the best work they can, it’s like holding a light up in dark room, providing feedback and resources but also helping change the way you think about art and connecting it to your inner thoughts and feelings to really drive you. It’s a powerful course.
Especially today where we are often bombarded by the sheer volume of high-quality work on Instagram and ArtStation it’s easy to feel lost, so the course was great for drawing a line in the sand and getting a reality-check about your skills and where you stand as an artist. In particular, the weekly meetups were great as they push you to be accountable. Getting to ask mentors directly for feedback, tips, and tricks help a lot, even more so when it’s personalized to you and what you are working on. There is a lot of resources available as part of the course, many hours of knowledge and talks but being able to show people specifically what you are doing and ask for help directly is such a valuable benefit. It’s a community of artists all dedicated to improving and contributing that makes Game Art Institute such a powerful thing to be a part of. I really can’t recommend the course enough.
Importance of Textures Nowadays
I think textures really give substance to the world we live in, whereas in the past, a texture was just something that added color to objects (to stop it being grey and boring). Now they are much more integrated with the 3D model and lighting, the way lights react on the surface of an object is much more routed in Physics. I think this has caused a bit of a divide in artists who prefer hand-painting the specific locations of wear and tear, over others who cherish the randomness and “happy accidents”.
Personally, I believe the real world doesn’t appear the way we expect it to in our minds, have you ever looked closely at a photograph of nature? There are rule-breaking tangents and strange optical-illusions all over the place! As artists, we feel the need to control every aspect of this randomness but doing so often pushes things into hyper-realism which can look strange. Good procedural materials which harness the logic of nature are helping combat this more and more. Which ironically frees the artists up by giving them more time to make artistic decisions.
The use of scanning tech really depends on the project – if you have real-world examples readily available then it can save a lot of time to just scan them but most of the time you will still need time to process the scans and you lose the ability to tweak it for the needs of the project. I think it’s faster and cheaper to just develop a shader in Substance Designer (based off of strong reference) Artists such as Daniel Thiger are proving that you can get near-perfect (if not perfect!) results using purely Substance whilst still retaining the ability to tweak it easily. Not to mention being able to integrate materials with the meshes they’re put onto; meaning dirt into corners or scratches on exposed areas happen automatically.
In a production, environment time is a premium and being able to rapidly iterate and re-use materials across different assets can be a massive time-saver, not to mention the increasing use of Real-time Ray Tracing in games and film, pushing realism standards up and increasing demand for more realistic results.
Substance Painter or Photoshop?
I remember listening to a talk by Naughty Dog environment artist Jacob Norris (see the video below) and he said that studios the world-over are starting to adopt Substance Painter. But it’s not like it’s without reason: Photoshop (PS) and Painter share a lot of similar tools for painting using brush strokes, masking areas and using layers to build up a texture are also quite similar. It’s no secret that SP borrowed a lot of functionality from PS, turning on and off layers and creating custom brushes by tweaking the size, rotation stroke length, flow, etc. All of this is basic photo-editing stuff you would expect to see in a digital painting software solution, but where SP has the edge is in how it deals directly with 3D meshes.
Being able to bake maps, preview textures in the viewport, drag and drop materials, create smart materials, even painting over several layers at once in a single stroke – it’s this integration and understanding of how textures are used for games and film that make the difference. I still use Photoshop occasionally for very simple tasks like making alphas for ZBrush or logos, in terms of design it’s still pretty superior with its grid-based vector creation systems, post-work on renders like adding dust-particles is useful too, but otherwise, it doesn’t really compare.
If we’re talking about purely texturing a 3D model, then I go straight into SP without thinking twice. Once I’ve finished a model I import the low and high meshes into SP, bake out the mesh maps (AO, normal, IDs, etc.) then I can start applying different smart materials to see how it looks. Projecting textures in a 3D space using triplanar mapping and adding a buildup layer of dirt and scratches within seconds. It allows me to get a good sense of how well the textures will work on the mesh quickly, moving lights around and even adding some post-processing like Depth of Field or Ray Tracing without leaving the software are a massive bonus.
Recent Updates of SP
The biggest change recently was probably in the last update, they added proper displacement and tessellation into the mix, so not only can we change the silhouette of a model using materials but we can essentially “paint” forms, a bit like sculpting in ZBrush. I work a lot with tessellation and displacement, so being able to see them working in SP means I can go from authoring shaders to texturing without leaving the Allegorithmic toolset. This is also bridging the gap between modeling/sculpting and texturing which is handy for art directors or artists looking to make large changes or prototype quickly. Other tools in SP which are really handy are stamping of details like normal extrusions, nuts and bolts, panels, wires, etc. Previously you would have to model them and then bake it down in the normal map, now you can just stamp it directly on. They recently added dynamic stamping too, which is essentially like 2D projecting decals, it’s non-destructive so you can make changes to the geometry underneath without affecting the texturing too much. Painting and editing multiple texture-sets simultaneously is something we’ve been waiting a long time for, I think we’ll start to see some very beautiful and unique ideas appearing very soon as a result. This is mainly down to artists having less to worry about in terms of tech, so they can just focus more on the art side of things.
Overall, SP’s ability to set up an “environment” for texturing entire swatches of assets quickly while maintaining consistency is really its main strength. It’s probably best suited to hard-surface texturing because it really handles corners and cavities quite well. I recommend using lots of generators and masked layers to control the level of dirt/grim as well. It’s one of the most satisfying things you can do in SP, with very impressive results.
Texturing Barber Chair
I was lucky I found some really nice photographs of the actual chair from different angles so I was able to model it and check to make sure the proportions were correct. I ended up taking some of the photographs into Photoshop and actually painting over sections in bright colors to work out how to break the model apart into bite-sized chunks. It just makes it more approachable. I always start with a blockout of the basic forms as tweaking the proportions at this stage is much faster and less complicated. Once the base was done, and I was ready to start texturing, I brought the whole mesh into Substance Painter and did my baking there.
The glossy wood was quite straightforward. I gathered some reference for it and then started layering up different base materials from Substance source. Tweaking the diffuse colors and then adding some dirt and dust was quite quick to do. Once I had something I was happy with, I started working on the metal buttons and leather materials in a similar way, just layering them up. I found tweaking one, meant the others had to also be tweaked, it’s rare that perfecting one material doesn’t have some kind of knock-on effect. And testing them all in different lighting conditions really helps to understand if they are working as intended. It can be quite striking to see the reflections of metal completely change (and the color too!) just by moving from a forest HRDI environment to, say, the inside of the house. Being flexible and testing different things is really important at this stage I’d say.
For the leather, I knew that the shapes of the folds and buttons would need to be consistent across the whole model, so I opted to do them all at once as a texture pass. I also knew that SP has many great ways of adding dirt and grime so I focused on researching how that type of leather is made and even tried making it in Marvellous Designer, by cutting out shapes, stitching them together, pulling them over a soft-body shape. I tried lots of different approaches to mimic the real-world process. But in the end, I went for a more methodical approach. The final leather material was done in Substance Designer, I spent some hours working out how to make that iconic triangular chesterfield “V” shape, with the right blend of nodes I was able to make it procedurally which felt really satisfying. Once I had that looking right, I focused on the smaller surface properties, again previewing them in different HDR lighting conditions really helped to cross-reference them with real-world scenarios to get the best overall look. I find it’s one of the biggest mistakes people can make in PBR – not testing in different lighting conditions- because the final result is just so much more realistic. That and asking others to look at it, especially if you have a large network like the game art institute, other artists looking critically at your work just helps so much in defeating tunnel-vision.
Adding Dirt & Other Touches in SP
I use a lot of masks that I get from baking the meshes to control the dirt of my textures in SP. Like cavity maps, ambient occlusion, position, thickness, and normal maps. The layer system in SP is just like using Photoshop but in 3D, these all work with the Smart materials in SP to control how much dirt appears and how far into the nooks and crannies it goes. It’s fully procedural too – which means you can tweak it to perfection if you want without having to rebake or spend time painting things by hand. You can still paint by hand if you want to, of course, and in fact that last final pass usually means doing this just to fix any small annoying things which just look “wrong” even if it’s technically correct. We’re still making artwork after all.
Gather as much reference as you can early on. All the tools in the world won’t make a well textured model work if the foundation isn’t solid, and with that in mind, I would expect to make lots of changes as you progress through it. Try to keep things as procedural as possible, for example – if you want a large scratch across the side of your model, setting up scratches using a generator and offsetting the tiling so that it appears where you want is better than hand-painting it as the end result will just look more realistic in the context of the whole asset. If you’re making a series of props that all need to look similar, then think about setting up a smart material that you can apply across them. This will save you time later in repeating work over and over.
If you’re working on a hard-surface sci-fi model, you can set up the primary, secondary and tertiary colors in your design using layer masks, meaning you can tweak them all at once and see the results instantly across the whole model. It’s a really clean way of working and will help you get to the final result quicker. So yeah, stick to good reference and check your work under different lighting conditions constantly – being able to sweep and rotate a model under a spotlight is really a very powerful way of measuring how well it’s reacting to light, but be prepared to tweak everything again because unless you’re rendering it entirely in Substance Painter, then it might look different again in a new environment.
Perfecting the Look of the Material
I usually start with a simple object like a Rounded Cylinder, Sphere or even a Plane and start building up the basic shapes and forms that make up the overall look of the material. The normal, height and ao are the first things I work on. Then afterward I do the roughness and Albedo last. I do this with a strong reference so that I can see at a glance if I’m on the right track and I aim to make things as procedural as possible, so – rather than importing a black and white map – I’ll use the shape node and vector warping to push it into the shape I want.
One of the important things to note about a procedural workflow is the random seed generators. It’s easy to trick ourselves into thinking its random when you might have just lucked out, and when it comes time to recompile or change the seed value, things can look way off. I often play with the seed values, scrubbing through seeds will give you a much better indication of what your material is really doing. Another important thing I pay attention to is the timings, how long it takes to compile your texture will not only speed up how long it takes to make it, but the end result will be more optimized too. This isn’t as essential if you’re baking the textures onto a mesh and exporting them, but it makes iterating faster and less troublesome if there are fewer steps between working and seeing the results. You’re better off spending a little more time at the start to set things up properly and then make that time back later with a hundred small adjustments to perfect it.
Working in a linear fashion in terms of layout is good too, I usually start with basic shapes at the on the left and then smaller details get added in as I move linearly towards the root nodes. This way of mapping out helps when you can group them into features like scratches, divots, cracks, etc. because you can see at a glance how the material works and it has the added benefit of separating everything into easily accessible masks, which are super useful when working on the color and roughness of specific features.
Overall I’d say the biggest pitfalls are when you’re first trying to work out how to set up a material, as different parts of a shader can become interwoven or break the time paradox. It’s very easy to do and can get very complicated and messy quickly. Sometimes I’ll have two or three attempts just messing around with different texture nodes in different ways until I settle on what works, then I’ll go back and create it again from scratch in the right way. It’s very satisfying to know that a material looks as good on the inside as it is on the outside, but sometimes if you need to get things done in a hurry, then it’s knowing when to spend that time, it doesn’t matter if you have a perfect material but the project doesn’t ship because it took too long to develop. So for personal work, it’s fine but there is a balance there.
Bo Chicoine, 3D Environment Artist at Black Shamrock
Interview conducted by Kirill Tokarev