Garth Travis talked about his experience of creating a high-quality Sci-Fi Modular environment in UE4 & Maya and shared a few helpful tutorials that he found along the way.
Hi all, I’m Garth Travis. I’m from South Australia but I have lived most of my adult life in Melbourne, Australia. I’m an Environment Artist and I’m currently employed as a Terrain Environment Artist at Starbreeze Studios in Stockholm, Sweden.
I started out working professionally doing freelance. I then got a job at EA in Melbourne, where I was working on some mobile titles as there aren’t any major PC or console studios in Australia, which is a real shame.
We (my son, my partner and I) then relocated to Auckland, New Zealand as I was hired by Grinding Gear Games to work on Path Of Exile. After almost 2 years at GGG, I was hired by Starbreeze, so we relocated to Stockholm where we currently plan to live long term. I got into CG around 2011 when I began my Advanced Diploma in Game Art at A.I.E (Academy Of Interactive Entertainment) in Melbourne. I had dabbled in 3D before this but did nothing serious.
Goals of the Project
My main goal of the project Corridor-E was to see if it was possible for me to actually finish a scene in my spare time. I get about 6 hours a week on average to sit down at my PC and create so the idea of staying focused and finishing a scene was a huge challenge. Having a family and a full-time job as a game dev makes it infinitely harder to complete personal work but I was determined to make it a reality.
Other goals were to get familiar with interior lighting and composition. I have predominantly done nature heavy work in the past, creating rocks, trees, terrain, cliffs and natural environments etc. So to show some range, I went for interior Sci-Fi. Practicing interior lighting was definitely important. I learned some really good stuff about UE4 lighting and lightmass during the project which was a big goal of mine to achieve. I’m definitely a lot more confident with interior lighting because of it. Luckily, I can have headphones on at work and I listened to Tilmann Milde’s ‘Unreal Lighting Academy’ tutorials about 5 times each:
Tillmann’s tutorials are amazing, he is a lighting artist at DICE and he knows what he’s doing. I strongly recommend anyone interested in lighting to watch these videos several times over and support Tilmann so we can keep getting these amazing videos.
I also used Luoshuangs GPU lightmass which can be found here.
This GPU based lightmass tweak for Unreal sped up light building exponentially. I could do production renders in 20 minutes. It’s a massive time saver that I recommend really highly to anyone using Unreal for lighting.
Here are some lighting only shots:
The lighting setup for the front half of the scene:
All the high spotlights and the spotlights above the modular wall assets are using a light function image. These are masks that project a custom shape from the light source, instead of having just the default circular spotlight projection. I only used one spotlight to cover the 3 fluoro lights assets above the wall assets. With these spotlights, I used a light function texture that projected 3 long fluoro globe shapes.
Here are the light function masks I used:
In the back half of the scene, I needed to use multiple non-shadow casting spotlights at very low intensities to get more light on the walls. They are the spotlights floating in the mid-ground. These were my only fill lights. I increased indirect intensity on most of my spot and point lights to about 1.1-1.5. This allowed more illumination with fewer lights, which is good as I didn’t want to use too many fill lights as it tends to flatten out the lighting when you do.
Creating Modular Hero Assets
My modular hero assets are the assets that are not using tiling textures or trim sheets. They are meshes that have their own individual textures and are baked from a high poly model. There are more than 5 meshes in the scene, but there are only 5 modular hero meshes.
The concept image I worked from was created by artist Eric Gagnon, also known as Gryphart:
I chose this image for many reasons but in regards to the hero assets, I felt the modular wall pieces wouldn’t shine using trim sheets and that it would look better with some hard surface love.
Here are the two high poly models that make up the bulk of the walls in the scene:
Wall asset #1 favors being flipped horizontally, giving it the appearance of a slightly different asset from both possible angles of sight.
Wall Asset #2 isn’t quite as flexible. I dressed each duplicate slightly differently with modular tubes, pipes, and light colors. This, along with spacing and other points of interest in the composition of the scene was enough, in my opinion, to disguise the repetition.
The approach in creating these assets from the relatively minimalistic concept I had was to keep them simple, yet individually unique in design. The overall design of the assets was fun but not easy as I didn’t want to overdo it with too many generic Sci-Fi details and I wanted to create a more mature style, with more believable shapes, so it took a few iterations before I warmed up.
Below is an example of how I go about creating a high res model. This is the mesh ready for smoothing. I made the hard surface (high poly) models bulky with very soft edges as this creates a sense of weight and believability:
I create this ‘high res pre-smoothing’ mesh, then duplicate it. I smooth one duplicate with 2 iterations in Maya to get the high res model. With the other duplicate, I simply remove edge loops and clean up any excess geometry until I get a mesh that will bake well and is at a suitable tri count for a game mesh.
Here’s the same image, reduced to a game level low poly mesh:
This particular detail is using a very dense tri count as I wanted this to be of higher quality and intricacy up close. I use a lot of bevels on edges as I find this bakes better and it’s more natural to texture when UV seams are welded together. It also creates more resolution in your UV’s as there is less wasted space from UV padding. This worked for me in my folio scene but because it increases the tri count significantly, it’s best to only use this method if it works for the project.
I took a lot of influence from games like DOOM and Wolfenstein for design and weight but I didn’t want the assets to look too gamey with extreme amounts of dirt, grit, and damage as it didn’t fit the concept to do so. I waited until I had finished the scene before adding dirt and damage so I could balance it in one pass. I created a smart material in DDO that had all the dirt and edge wear I could possibly ever need and then just tweaked each texture individually until the scene had a consistent balance.
To keep the style consistent, I made a file of greebles:
In this file, I collected pieces of assets I made of super basic things like edges, angle changes, extrusions, and tubes, along with more broad and unique shapes. This was really beneficial to consistency in edge thickness and overall style. I re-used parts of this file on every mesh.
I also only used one font for all text so that it wasn’t ever a distraction. Except for the letter ‘E’, below ‘corridor’, on the door frame. I used a different font which was unusually large as it was the name of the scene and a link to the concept, so I thought it needed to stand out a little more. I didn’t want anything else to stick out but I wanted everything to be visually interesting closer to the camera. I wanted to keep the composition really basic, looking straight down the scene and out to space, then as the eye drifted I wanted to add a lot of smaller detail and little surprises.
High res modeling, baking, and unwrapping for baking is a massive amount of work to explain, so some of what I have written may not make sense to someone learning. The tutorials I learned from are old but gold. Here are the links to them:
- Alec Moody doing a great tutorial on hard surface modeling and baking that is still the tute I recommend to anyone wanting to learn the process. Find it here.
- An amazing thread on understanding normals, unwrapping and modeling for optimum baking results. Find it here.
Modularity was quite basic, which is great! All the large meshes are snapping together using a 50cm grid snap, there’s not much more to it than that!
Here is an image of my grid settings in Maya:
It was just like putting a puzzle together, it required basic puzzle solving skills. Everything else is either using a 50cm or 10cm grid snap depending on the size of the asset or what it was used for. I find the larger the base snap is, the easier it is to not make mistakes in modularity.
Using Trim Sheets
I initially worked in mobile so I got some great experience using trim sheets. What I learned was, with adequate planning you can sometimes create whole environments using 1 or 2 trims. Planning is the key, you need to know what works and where to put the bulk of the resolution.
Here is a render of the trim I used to texture about 95% of the roof:
Here is an image of some of the most common assets I created with this texture:
I first plan how much variation in material types is going to suit the scene and how much space on the texture is required for each. Some materials or details need more resolution than others, this space usually goes to things that need to tile end-to-end or long or wide mesh faces. Then I make a really basic color map using the same basic colors as the material I intend to use and a description of each in the text. I then put this color map texture into a material in Maya and start unwrapping and altering my meshes to fit the trim sheet.
From there, I start importing all the meshes along with the color map texture into Unreal. Then it’s just setting the meshes in place and adding the material to see how the basic colors and composition are working. Once this is looking good, it’s off to DDO or Painter to create the texture. As long as you have enough variation in mesh silhouette and material types, you should be able to easily texture almost anything of any size this way. Again, it just takes basic puzzle solving skills that will come with practice.
As far as mesh connections and texture tiling is concerned, I just use UV splits and seam geometry where it makes sense, which I use to hide any texture tiling issues.
For this scene, I created my master material as I went. I only added aspects that were needed. I tried to keep it as simple as possible. That way I could identify issues easily and edit them externally in DDO. For this scene, the material was super basic because I used a lot of the ‘hero assets’. Very little material baggage was required to make these assets work as all the detail I needed was baked into their unique textures.
I created masks for 3 different material types, usually painted metal, bare metal and plastic or rubber as that’s all I needed. That way I can change the values of each material type without affecting another. I put the alpha mask in the alpha channel of this mask texture if it was required. Other than that, I only used material parameters for values like roughness, emissive, saturation, normal strength, and albedo brightness. Real basic stuff.
Here’s an image of my material graph:
Assembling the Scene
I intentionally picked a concept that was created with repetition and some modularity already in it. Most of the work was already planned out in the concept so it naturally worked in 3D. I spent a lot of time finding an image I thought would translate well in a 3D engine.
Other factors like the amount of noise in the roof, lighting composition and the strong focal points being the outside spacescape on one end and the blast door at the other, all distract your eye away from any repeating assets. The secret is just good planning and a keen eye for composition.
I strongly believe the most important aspect of progressing to a professional level with anything in 3D art is having an interest in the fundamentals of art. Composition, silhouette, color, consistency etc. All the technical software knowledge in the world won’t help you progress as an artist if you’re missing these factors in your work. It’s much harder to successfully pull this off than it is to learn the latest software packages but the art knowledge and progression will travel with you through them all. I always suggest picking up some good books on composition, photography, illustration, cinematics, and to spend some time analyzing other people’s work and discovering what fundamental techniques they have used.
As far as modern tech is concerned, you should definitely keep an eye on industry trends and standards and spend some time learning what’s being used in your chosen field even if you don’t intend to use these apps or techniques personally. You might find it’s your only option for certain jobs. I usually try to learn while making an asset or scene for my portfolio so I produce something and learn at the same time. I also think it’s important to analyze other peoples technical work and to brainstorm how it may have been done and then find the knowledge on how to replicate and practice these techniques.