In case you missed it
You might find these articles interesting
The project UNSC Outpost - Nightfall started because I had made a series of posts on Reddit's UnrealEngine forum showing an environment I was excited to share. That project got very harsh critiques, however, and those critiques emphasized a lot of important fundamentals of environment art that I was completely overlooking at the time. Some examples of this were that my environment lacked contrast, a strong focal point, leading lines, sense of scale, physically correct lighting, accurate placement of wear and tear, and more.
When starting this new environment I knew I would have to spend more time planning my composition. The first thing I did was to create a few sketches of my landscape. I made several rough thumbnails before settling on a version I was satisfied with. I have also always been a fan of Halo and especially the sci-fi architecture in Halo 5 so I wanted this environment to be Halo-themed. Below are some thumbnails showing how I figured out the composition as well as sketches planning out the hard-surface details of the building.
Before starting my block out phase I spent lots of time in solo custom games of Halo 5 wandering around the map to get a sense of their style. Doing this in any video game is extremely valuable to any 3D game environment artist. Being able to take your time and get a closer look at real games is a great way to get a sense of where to add detail. This is especially valuable when looking at where to use lots of detailed high-poly/high-resolution assets and where you can be more relaxed to help optimization.
When looking at lots of 343 references I also noticed how they focus on the main shapes of their assets. They follow the 70/30 rule of design very well which states that in order to have contrast, variety and a place for the eye to rest, you want to avoid shapes of all the same size. The general rule of thumb is for the main shapes to take 70% of the space, medium to take 20% and the small details are the remaining 10%. Your interpretation can be loose as I have also heard it referred to as 80/20, 60/40.
In Halo, their main shapes seem to be very thick and armored. These main shapes are also very rounded and can take on a variety of forms. Sometimes, when sci-fi is always rectangular and boxy it can feel generic but the hard-surface modeling in Halo avoids this well and that was something I wanted to emulate. Below is my initial box out for the structure as well as the reference images I took.
While blocking out the base I tried to make it as asymmetrical as possible to add variety and make the structure look more dynamic as a whole.
This part took me the longest by far. In the past, I felt I had been guilty of filling in areas of a block out with meaningless detail that had an undefined purpose. When modeling these assets I thought about what the purpose of the building was so that each of its components had a specific function. I decided that the building was a temporary base that could be dropped onto the battlefield using large hovercraft. Defining the use of the structure helped me move forward with detail and I started adding assets like retractable legs for uneven terrain, solar panels, radio dishes, large batteries, and more.
I knew this project would require significant hard-surface modeling and being able to quickly build parts of the structure and iterate design choices would be very important so I used Fusion 360 for the majority of the building.
Above are some WIP shots showing my early progress in Fusion. While most of it was in Fusion there were some assets that were easier to make in other software. For example, I made the accordion part of the side door in Maya using its deformers. The sacks at the end of the building were sculpted in ZBrush then baked on a low-poly model. I also made all wired components in ZBrush using its curve functions.
When texturing the structure I wanted to make sure I used an industry-standard approach. As a result, all assets of my building were made using a single trim sheet material. With this method, I used three different trim sheet textures. One controlled the main base color, another was used for decals and normal detail, and the last was used for more decals.
When texturing each asset, I set up four UV sets. UV set 0 was for the first decal texture which I called “Decal00”, UV set 1 was for the second decal texture which I referred to as “Decal01”, UV set 2 used the main material texture that I referred to as “Body02”, and finally the last UV set was for the lightmaps. I only set up the lightmap UV set at the end for an important reason that I will explain later on.
Here I show my ramp asset with its UV sets overlaid on the texture they were each using. I have highlighted all the UV shells being used in each set. All UVs not being used by the trim sheet are deleted. Keep in mind, overlapping UVs in the first three sets don’t matter because the lightmap will be using the fourth UV set. To toggle between which UV set is using the texture in Maya I went to Windows > RelationshipEditor > UVLinking > UV Centric.
The ramp asset in Maya displays UV set “Body02”. Here, I just dragged every UV shell over the color they would be using. Most of the building would be gray so the two grays in the “Body02” texture used the most texture space.
When placing the UVs of the asset over the trim sheet I had to add edges to the mesh so I cut the UVs into manageable portions to be placed over the decal I wanted. I did this mostly using the multi-cut tool and insert edge loop tool in Maya. I would also select a face or group of faces and click extrude, then offset. This would create a polyloop of new geometry that I could use to frame a specific area with detail.
Below is an asset using this method where the polyloop is highlighted so you can see its placement on the trim sheet and how the detail looks on the object.
Adding polyloops created new geometry which still needed to be UV'ed which is why I created the lightmaps last. For lightmaps, all I did is create the 3rd UV set, create automatic UVs, then lay them out using a 128 resolution lightmap layout setting. After that, the asset was all ready to be sent to Unreal.
Unreal Trim Sheet Material
When setting up the material in Unreal Engine I needed to make sure the trim sheets “Decal00” and “Decal01” only showed the area of detail and not any of the background so I used masks. Below is a zoomed-in screenshot of a UV placed over the trim sheet and next to it is the mask used to cancel the background.
Once the background was transparent I could layer it atop the trim sheet “body02” which I intended to be my real background/main material. Below is a simplified version of my material setup showing just the base color trim sheets, the masks, and how I used texture coordinates to direct each trim sheet to the correct UV set.
Later I went into Substance Painter and retrieved all the masks that I used to create wear and tear for my “Body02” texture and brought them into Unreal Engine. I then used them to rebuild the texture using Lerp nodes and exposed constant 3’s. This way I could instance the material and change the main color, roughness, or how metallic feel of the building quickly. Below is a screenshot of the entire material with the “Body02” trim sheet rebuilt in Unreal.
I also made a video showing my instanced material being used to change the color of my building:
After all my objects were textured using my trim sheet material I began applying decals. I focused on large areas of the structure that had metal beams, pipes, or panel lines above them. These would be areas that would have lots of rust and leakage stains from the objects above. I also made sure to place dirt and mud on assets close to the ground.
I had a lot of fun making props. As mentioned earlier, a problem I had with a previous project was lack of sense of scale so this time around props could help me achieve that. My first step was deciding what props to make and why they would be in my environment. I settled on a variety of crates and containers all with varying purposes. Since the environment is a military outpost, I figured one crate could be used to store weapons. I also had another crate that could be used for medical emergencies. In my initial concept, there was a solar tower so one of my props is a large cylindrical battery that could be charged by the solar panels to later be used by the outpost. I also created a dolly that could be used to haul the heavy crates to and from their location. When making crates I took lots of inspiration from power tool containers and lockboxes. I wanted them to feel heavy, industrial and sturdy so they could be used in hazardous environments.
Knowing assets like this could be used multiple times I wanted them as realistic as possible so I textured them using Substance Painter. One disadvantage of the trim sheet method is that you cannot bake a high-poly mesh for each asset so it was nice being able to do that with these and get rid of those hard edges.
I drew inspiration for the surrounding environment from the Halo rings in Halo 1-3. I feel that one of the trademarks of Halo is the lush green mountain environments surrounded by blue sky seen while sitting on the doorstep of the Halo ring. The juxtaposition of a familiar landscape next to a massive alien structure was something I wanted to emulate.
To create foliage I used a combination of SpeedTree, Megascans, and a library of foliage assets I have been building from previous projects made in Maya and Photoshop. All the trees and bushes were modeled in SpeedTree using Megascans leaf atlases. Most of the grass was just put together in Maya using atlases from Megascans as well. All rocks and tree stumps came from Megascans.
When placing assets throughout the environment, variety was very important. I did not want all the trees, bushes and grass to be of similar color, shape, or size. Just like in real life, the grass has varying shades of green while also containing brown and tan blades.
Mountains, Clouds and Halo Ring
When making the Halo ring I grabbed heightmap data of several real islands from Tangram Heightmapper. I imported those photos into Substance Designer where I arranged them together and added different colors based on elevation. I also added a heavier atmosphere in front of the ring to make it look much further away and help distinguish it from the mountains a bit.
When making the mountains I also used scans from Tangram Heightmapper but textured it using a custom dynamic material that was world aligned, kept snow on top, and blended with a normal map.
As far as clouds go I just grabbed PNG clouds from google images. I used the white of the clouds as a mask and a lerp node so I could assign my own color and transparency based on the time of day.
Lighting is undoubtedly one of the most pivotal parts of creating an environment. Months of hard work of creating assets can be ruined because of bad lighting so I wanted to make sure I got it right.
While setting up lighting for my night scene I kept in mind things I wanted to include such as a focal point, contrast/full value range, a color palette, movement, and the rule of thirds.
Something I struggled with initially was how bright or dark I should make my scene. As it was a night scene it had to be dark but most of the composition still needed to be viewable. I also wanted a full range of values so I would need at least one area to be bright. This is where reference material is essential. Here are some images I used to help myself get a grasp on how the moon illuminates the environment and influences the colors of the composition.
I noticed the majority of the composition in these images consists of dark blues and purples and occasionally uses bright saturated colors for a focal point. Some of these images also use the light of the moon to reflect off objects and reveal detail.
Below is a gif of my process fiddling around with lighting and composition. You can see how I struggled with exposure in the beginning before settling on a satisfactory brightness. I also added more blue to the scene later on using exponential height fog and atmospheric fog. I placed moon rays shining through the trees using elongated spotlights. These rays were only positioned on the left and right in order to obscure the details there and draw more focus to my focal point.
Color palette played a key role here. I wanted the majority of the composition to be shades of blue while reserving blues compliment, orange, for the interior garage to create a focal point. All the blues of my composition are fairly muted so I could save the most saturated colors for the focal point to create further interest.
Finally, some notes I made on the movement of the composition. I added some assets around the structure to provide movement to my intended focal point. To balance my intense focal point I placed a small orange light emitting from the battery in front of the left door. For the foreground, I added a tree branch in the top right. Since a lot of the details of the building are obscured by darkness I included emissive sci-fi decals all over the structure to bring some of that detail back.
After this project ended I felt very happy with the result and feel that I addressed and learned from all the criticism I received on my previous environment. To see some more work in progress screenshots or future projects you can check out my work on Instagram or my Artstation.
Thanks for reading!