Hi Elliott, This is a great breakdown and very generous in sharing your process and insights, you came a long way from the vending machine days!
Are you planning on releasing the UE4 project to the public? Or only builds? I'd love to play around with it in the editor if possible!
3d artist Philip Howlett from Cloud Imperium Games gave a super detailed breakdown of his most recent 3d scene, based on Ben Procter‘s concept art. It’s a great example of futuristic interior design, which will definitely interest most sci-fi fans. He described the way he created the materials, built the lighting and other little details, which make this scene stand out.
My name is Philip Howlett and I am a senior environment artist with over 5 years industry experience. My route in to the games industry began when I studied Art Foundation at College and from there I went on to study Multimedia at University. I began my career at TT-Fusion where I worked on Lego titles for around 3 years.
I am currently working for Cloud Imperium Games in Manchester on Star Citizen. In my current role as a vehicle artist, I am responsible for modeling, texturing, shaders, lighting and technical set up of ships. The ships in Star Citizen are often huge and consist of incredibly detailed interiors and exteriors, because of this the approach to creating them is very much the same as environment work.
Avatar Airlock Scene
I chose to work on this scene as I’m a big fan of Ben Procter‘s work and I find his work really inspiring. This scene in particular stood out as one of my favorites, and I decided a few months ago that I would like to work on it as a personal project in my free time. The scene appeals to me because it’s Sci-Fi but very much rooted in reality. Everything in the scene has a purpose and functionality and this is something I always try to achieve in my own work. I wanted to use the techniques I’ve picked up at Cloud Imperium Games to really do this environment justice. My main aims were to push the materials and lighting and work using a custom normals work flow to achieve a next-gen result.
Production of this scene started with a blockout in 3Ds Max, where I made use of ‘perspective match’ to help nail the proportions and scale of the original concept. I used the concept image as a viewport background to match to. With modeling I always begin with the big forms first and then work in the smaller details later on.
Once I was confident that I had the main forms blocked in correctly I then like to get my mesh in to CryEngine as quickly as possible so I can start to do an early lighting and shader pass. I work in passes as this allows me to review environments as a whole, rather than getting lost in small details. I find lighting makes the biggest difference to environment work and it’s important to focus attention here early on. At this stage I also like to set up basic shaders and do a material call out for the scene. Luckily with this concept it’s very clear how many materials I would need and I could plan accordingly. For me these early stages and planning are so important as you can lay down solid foundations to build on.
I have over 2 years experience with CryEngine now so it was the obvious choice for me, and I was confident I could get a great result. In this instance I built the entire scene under a single export node within 3Ds Max. In a production environment this could easily be broken down in to modular elements and larger environments could be built from a kit of pieces.
In terms of my modeling approach, everything is created with custom normals in mind. This is a workflow Nathan Dearsley (Art Director at Cloud Imperium Games) implemented on Star Citizen. Essentially nearly all edges are chamfered and only one smoothing group is used. The result is very efficient for game engines and gives a high poly look. There are some great threads on Polycount with a wealth of information on this subject if you want to read more in this technique.
Creating the materials for this scene was the most fun part. Thanks to PBR in CryEngine you can get a very convincing result for materials, especially metals. I used a mixture of Quixel SUITE and photo source to create interesting gloss maps. For materials like the rubber grip on the floor I created a high poly which was baked down using xNormal. To really push the final result I used a Parallax Occlusion Mapping to give the rubber tread depth.
Nearly all of my materials make use of a very subtle blend layer which helps to give the scene low level wear and tear. In order to define where my blends come in I bake ambient occlusion to the vertex alpha channel as a base, and I then hand paint and refine this. The advantage of this is that it really helps bed everything in to the scene in a natural way. My materials also make use of unified detail maps to get some nice macro detail.
The glows are actually a very simple solution in this scene. I created a texture containing glow gradients and used these for buttons, tube lights, door lights and the monitor. Often these are placed as simple floating cards, positioned in front of geometry or POM decals. When it came to the screen I complimented this approach with a glass panel over the top to create the reflection you would expect to see from monitor glare.
The lighting in this scene was difficult due to the main material being steel. Bare metals such as the one in this scene look best when they are reflecting something interesting. I had to set up fake lights in the foreground and to the left of the scene so when I baked my cubemap I could get an interesting reflection. I also found that I had to place a series of ambient lights to mimic bounce light. Without this, the scene was coming out very dark and flat. The tube lights on the back wall were particularly tricky as well and it took a lot of experimenting with light intensity and light types to get the final result. In the end, I had to create a light projector which was pointed against the back wall to fake the light fall off. This was then complemented by ambient lights and lens flares in front of the lights.