James Hodgart, a Lead Environment Artist at Axis Studios, talked about the production and testing of large-scale environments, and tools used in the studio.
80lv: Could you introduce yourself to us?
80lv: Where do you come from? What projects have you worked on?
I actually come from Glasgow, so having a studio like Axis on my doorstep was a bit of good luck. I’ve worked on loads of projects – Destiny, Elder Scrolls, League Of Legends, Heroes of The Storm, some stuff for BBC and Channel 4 and fair few more I can’t quite remember right now.
For most of these projects, I’ve been a generalist. I started in Axis as a Junior Asset artist before moving into LRC for a couple of years. For the last two years though I’ve been specializing in environments and have been leading for about a year.
80lv: Did you study 3D anywhere? How did your journey into 3D art start for you?
I did! I studied 3D Computer Modelling & Animation at the University of the West of Scotland. I studied a lot in my spare time though, and luckily I was good enough to earn a mentorship at Axis in my final year which got my foot in the door.
I’d always loved games (of course) but it was the cutscenes I really enjoyed, especially in games like Final Fantasy. Another game I played a lot was Halo – they had a “behind the scenes” in their Halo 2 special edition that I used to watch over and over. I remember seeing them eating pizza, drinking beer and playing sports and there and then I was like, what? They make games and have parties? I was sold ha!
It’s not all just having fun like my 15-year-old-self thought – but we do make cool stuff, and occasionally have beer and pizza.
Cinematic Environment Art
80lv: James, you have a very interesting specialization concentrating on environments for CGI films and trailers. Can you tell us what the main specifics of this occupation are? How are environments treated in this type of content?
I’d say the goal is always to maximize the content and quality wherever possible. Breaking down an environment that both the client and art director is happy with and working closely with the director, art director, and layout to balance quality, budget and time. That’s a little more high level though. In terms of technical ability you need to be able to model, texture and shade to a high level as standard, then adding in some experience in various programs and techniques like world building, scene assembly, lighting, and compositing comes next – at least for my current position.
Environments as Backgrounds
80lv: It sometimes feels that the environments in the background can be often overlooked. What do you feel makes a 3D background environment good?
Without trying to digress too far, a good environment created in a studio pipeline is usually a combination of more than just the environment department. A good environment is one that works compositionally (which is usually fed into from the director, art director, and layout), is full of high-quality assets, and has the right lighting to support these assets to make sure we’re getting the best out of our hard work. It also has to support the character in character shots, rather than detract/distract. Sometimes there are several people involved in this process, but I find it works best when you have one person responsible for all aspects, including layout and lighting. It’s worth bearing in mind though that every image that comes out from Axis has been worked on by a whole team of talented people.
Kiss Me First: Environment Approach
In the case of Azana from Kiss Me First, the large sweeping green landscape, we had some very loose concepts to start us off. You start by gathering as many real-world images you can to support what it is you’re trying to make, then narrow these down to a few at the most. It’s best not to confuse yourself with too many references. This is assuming you don’t have concept art support though.
The block out here was very simple at first, just using poly modeling to get a rough shape. I knew most of this would be covered in vegetation so I wasn’t too concerned about the detail. I already had a rough idea of the camera, so it was just a case of creating the elements and playing a bit to get the right balance of shapes.
Tools & Techniques
80lv: Do you often have to use a combination of different techniques? How much of it is matte painting? How much of the work is actual 3D?
Yeah – but just the standard – Maya, Max, ZBrush, Houdini, SpeedTree and World Machine. I knew we’d get pretty close to the river edges, so I decided to isolate the shores and take them into ZBrush to get some extra detail into them. That gave me the base I needed to do the rest in Houdini. The sky was actually an amazing physical sun, sky, atmosphere and cloud system created in house by Sergio Caires. Usually, we build our own lighting each time with a standard HDRI/Sun/Haze set up but Sergio built something very realistic and easy to use. That meant the whole thing could be 3D rather than compositing in a sky.
80lv: Does your toolkit differ much from the classical tools the artists use in the environment production? Maybe there are some other interesting tools in your workflow that help you build the whole thing faster and more efficiently?
At Axis, we try and take full advantage of Houdini and its ability to allow you to quickly make your own tools. Houdini’s node network is kind of like visual programming, so you don’t need to go into python, hscript or VEX (although it really helps) to start building some fairly complex tools.
This meant we could build lots of custom scattering tools that allow you to do some very cool things, like multiple levels of color changes, separation, and height, slope and distance variation. In terms of speed of iteration and testing, Houdini’s very efficient with instancing and packing so it actually renders fairly quickly if you set it up correctly.
Environments of Large Scale
80lv: Could you talk about some of the ways that help you to get this amazing scale? What are the good techniques that help to build huge open spaces and make them look habitable?
Making a landscape look large is about getting the scale of objects right. If you can physically see a tree you can say “Oh, I know how big a tree is” – so the viewer gets the idea pretty quickly. The trouble comes with adding in too many elements that perhaps aren’t true to each other. This comes right down to the size of the bushes, rocks and even the frequency of the waves and the size of the birds matter. It can mess with your perception if done incorrectly.
You need the higher frequency detail to sell the scale, but it can’t all be high frequency or else it descends into noise – this is where quieter areas of rest are important. This is most important on things like ice fields or rock faces, but you can use those principles in most cases.
Atmospheric effects are also very important. If you’ve ever been up a mountain in most conditions you know there’s only so far you can see before everything is slowly obscured and tinted by the atmospheric haze and/or mist. This adds a lot to the scale and is quite simple to set up, especially in Houdini.
Testing the Scenes
80lv: How do you usually test your projects? What’s a good and efficient way to test the scenes especially of such an amazing scale? Would be awesome to get some nice tips for the way it works.
For this type of scale, it’s important to have a good grasp of instancing and packing geometry in whichever program you choose to use. Each one of these trees was about 100,000 polys – even just 1000 of them would have a significant impact on your RAM if not processed properly, never mind the several millions of objects in this scene.
It’s also worth keeping your trees, bushes, and rocks as low poly as possible and have LODs to replace them in areas you get close to – even sculpting new areas where the quality doesn’t hold up. In terms of viewport navigation, all these elements are set to bounding box – otherwise, the scene would become unmanageable.
Most people will say the same in terms of render efficiency, lower the camera resolution, remove all unnecessary render values like diffuse bounces, reflection, and refraction ray limits and keep the shaders very simple. Once you’ve got your process working you can start to play with the balance of elements, and once your happy with these start to introduce the more expensive things like translucency, refraction, volumetrics, clouds and upping the samples and resolution.