This is techno-sorcery!
Unite India is here: https://unity.com/event/unite-india-2019
there is no need to create a vdb, but it works yes
Talented environment artist Timothy Dries shared some of the things he learned, while building his awesome UE4 environment “Outpost 77”. Come back for his next scene next week!
It all started about 4 years ago at the end of high school with a wild gamble of going to university to “make games” with becoming a concept artist in mind. Well, as you probably know this turned out quite different. From the day I stepped into the world of 3D and video games my life changed. I’m still a student and still enrolled in a course called Digital Arts and Entertainment (DAE for short) at HOWEST in Belgium.
Now about 4 years later I still can’t believe that I’m still here, creating and doing what I love and currently doing an Internship at Frontier Developments. I would have never believed that I would get this for, not by a long shot.
Enough about me, let’s move on to environments that I have created in the past few years, and even looking back now the one that is coming up first seems a distant memory.
This is a project from about 2-3 years ago, so looking back at this makes me want to change a lot of things about this, because I learned so much and the engine itself has improved so much as well. It was also near that time that I went on a vacation and did not bring my laptop or anything else with me and I was stunned to find out that this had been featured in the weekly Twitch stream from Unreal Engine itself.
Things I have learned
Make lights static
This is a huge performance saver, when you click on a light in your scene you have 3 choices “Static, Stationary or moveable”. If you’re lights don’t need to move or aren’t doing anything special, make them static. This means that the light information you have when pressing build gets baked into the texture itself.
By the way, the editor even gives a warning when there are too much lights that overlap that are not static. So watch out for red crosses on lights in your scene.
Go soft on the roughness
I used a way to low roughness value, which makes the metal look way to reflective.
After I rendered out the full video this was the main feedback I got from people, is that everyone though the water was looking cool. But those were my shiny metal plates haha.
So whenever you are trying to create a good looking surface, look at real life materials and be subtle with it.
Animated textures are fun to make!
I really like to spend my time on making cool looking materials and animated ones are the best in this category! Just experiment with some random texture, making it pan and flicker using a sine node on the opacity, change some settings and see what it gives you.
Use decals to spice things up
Using decals in its many ways is a nice thing to spice up these boring looking walls and give a more unique feeling to the whole environment. These decals in the screenshot above aren’t actually deferred decals but are using the bits of the modular texture, I just unwrapped simple planes over the bits that I needed and used the same texture as an alpha map and done! You got yourself a nice decal for decorating walls.
When starting on this project I started out sketching and planning roughly a couple of the pieces and the look of the pillars and other meshes. I was doing most of the sketching while on the move and worked on the blockout of the level itself in Unreal using BSP’s when I got home. It is good to keep in mind that you can also export the BSP brushes, and then use them in a 3D program of your choice, this helps in the future to get the right dimensions for the meshes and is a huge timesaver in mesh placement.
When building the blockout for a competitive level in Unreal the most important thing is to make it fun for the people that are playing and adding in multiple ways to every scenario, so every couple of weeks I would play against other people and when I was alone against bots, As this was part of a school assignment we had a good time playing and grading each other’s levels. After this we would adjust the level based on the feedback we received.
The main focus of my level was to have the big gap in the middle of the room, so people could jump down to the bottom or middle floor easily, so you have to be wary of your surroundings at all time.
I also added a quick test for the lighting when I was still adding the materials in the scene. This gives a better feeling of the scene. As you can see the screenshot above is an early iteration.
Breakdown of the textures
The thing that I spent the most time on was finding an optimal way to use less textures , Tor Frick was a super good inspiration for this and more specific his “one Texture Environment” seen here. However my environment uses 3 textures for the environment and a separate one for large holographic sphere.
This may be a little hard for me to explain but is actually not really that hard once you have done it.
The way I did this was thinking in black and white, and essentially using every different channel of an RGBA texture as a mask, so using this technique you can have 4 different masks in Unreal that you can use to blend with each other.
When you have these masks in Unreal you can then work some shader “magic” and multiply the mask you have using different channels with the colors you want, using these masks can also be used as a roughness map or to mask certain regions of certain textures.
On top of this to add some more diversity I also added more geometry to the meshes themselves so that they could be vertex colored, this was really helpful when adding a nice transition from the terrain dirt onto the floor dirt.
From left to right
Main Texture normal map
– A gradiant (For using on top of the large holographic)
– AO of the mesh details (as a mask for the vertex color and as some color difference on the meshes)
– Decal textures, leaves and screen hologram textures.
– Metal scratches texture (Some roughness values for metal surfaces)
– Dirt (Ground texture)
– Difference clouds (for some roughness values and color differences)
– Smoke (for particle smoke)
This is the main thing in the main screenshot that stands out from the meshes that are overly red. This uses a mesh as a base and made use of a separate texture. Using the technique previously explained I used every channel of the texture as a different mask and blended them together within the shaders using panner nodes to animate the texture. Another thing that is cool to do on textures like this is to add a Sine node that animates the opacity to give it a simple flickering effect.
You can see in the screenshot above that the material uses the texture that I made for this separately, using every channel on its own and multiplying them to make this animated texture.