We asked CG Spectrum Game Design Diploma student Oliver Rotter to take us through his process of creating a panoramic mountain scene in Unreal Engine. This 3D environment was a side project that Oliver used to upgrade his skills along with the help of mentors Scot Bayless and William Faucher. Thanks Oliver for your meticulous step-by-step guide!
I like to set high goals, breaking them down into milestones so I understand the process and make changes as required. The benefit of this approach is that you remain flexible in reacting to the challenges of the project.
My name is Oliver and I am currently a Game Design student and Teaching Assistant at CG Spectrum. This is my process of creating the "Hunter’s Mountain Cabin” scene created in Unreal Engine 4 with the support of my mentor Scot Bayless.
Getting back into Unreal Engine
The last time I had touched Unreal Engine was a few years back, so Scot recommended tutorials to watch over the winter holidays to familiarize myself with the engine again. The official Unreal Online Learning Courses are amazing. I recommend the most recent tutorials on game design for anyone who is starting out.
I benefited from having experience with game development, programming, and game engines, so I quickly refreshed my understanding of the basics. Then I decided to test my skills by building a small environment.
With the goal set, the vision of building a beautiful scene in Unreal Engine had solid direction. But I was still new to the software and the concept was still vague. So I decided to clarify my idea by asking myself “W” questions. This is a technique one of my mentors taught me. Ask yourself questions like what do I want to create? when do I want to finish it? what skills are needed to build this? But the most important question is why do I want to do this? By asking these questions I found the solutions to developing my project in the direction I wanted. I also found the resources and developed the skills required to fulfill my vision.
A good way to develop your concept is to reference the outside world. To not only find the answers in yourself but to find inspiration from the world around you. This also relates to finding inspiration from other works. The internet provides us with boundless resources and references. Many new artists are afraid to use other artists’ work as inspiration, but art is endlessly referential. Feel free to pay homage to creators you admire, they have inevitably been influenced by their favorite artists.
Building the scene
I decided on a scene of a cabin near a mountain lake with a waterfall and a forest in the background. If you thought “I bet this guy got his idea from watching Bob Ross”, then you are completely right! As Bob Ross said, the beauty of life is all around us, you just have to be open to it.
I drew some compositional sketches to put ideas to paper. As soon as I felt I had the right composition I blocked out the landscape and shape in Unreal Engine. Sometimes things that look or sound good in your head are not always the best when they are brought to life. So it’s always good to test a concept, sketch it out and explore it before taking it further. For the first blockout, I used free-to-use assets from the Unreal Engine Marketplace and Quixel Megascans.
Once I had my first 3D sketch the next task was to make it more visually appealing by finding assets and learning methods to improve the piece. In my research, I stumbled upon Joe Garth's YouTube channel which features tutorials on how to create environments in Unreal Engine. He works for Epic Games Quixel and is also the creator of some amazing asset packs that are beginner-friendly. So I picked up his Brushify environment pack from Unreal Engine Marketplace and followed his tutorials. Since they were well made and accessible I quickly picked up his workflow methods. After making some landscape projects, I used these assets and my new skills to make a second iteration of the Hunter’s Mountain Cabin project.
As you can see in the picture, I changed the composition and assets to give the scene more credibility. Now that I had a solid concept, I added more details to the scene - rocks, a road, a ruin, bushes, and trees. During this process, it is always good to have references on hand. Like I said before, don’t be afraid to be influenced by other people's work or to imitate mother nature itself. To create a compelling, realistic landscape, references are crucial!
The scene slowly came together. As you can see in the picture above, there are more details, I added elements like the ruins on the left and the tree with the stone formation on the right. I also changed the camera position to work better with the new composition, this camera angle became one of the main frames.
Something I still wasn't satisfied with was the mountain ridge in the background. The forest and the mountains felt unnatural. Having grown up in Austria, in the heart of the Alps, I am familiar with this kind of geography. My mentor Scot gave me some helpful advice on what to touch up and where to make changes. So I looked up references and assets to create a compelling snowy mountain ridge. Mixing different trees and vegetation elements also gave the scene more credibility. From start to finish I was constantly refining my vegetation assets as well as creating my own models. I grabbed a free waterfall asset from the marketplace and added it to the scene.
While changing the mountain ridge I noticed that the sky needed refining, I found the Ultimate Sky asset pack in Unreal Engine Marketplace. It’s a blueprint for creating stunning day and night cycles as well as spectacular weather effects. The pack is highly intuitive to use, is affordable, and delivers value for money.
The scene now had a solid foundation, but I wanted to push it further, so I added noise to give it more credibility.
I added more details to the area around the house and decorated its interior. For that, I used a lot of free assets from Quixel Megascans and Unreal Engine Marketplace, as well as some purchases from Marketplace. I then created materials and basic assets, not because I want to be a modeler or material designer, but because I like to know and understand a process even if I don't want to become an expert in that field. Just having a basic understanding of a topic can be a great benefit, especially in game development where people's tasks are often closely linked and co-dependent on each other.
Lighting & post process
Before this project, I barely had an understanding of what lighting and post process can do and was surprised at how they can elevate a scene. No wonder this field is an expertise of its own. For this task I created a smaller study of a forest scene to learn more about creating an environmental scene. I used tutorial guidance to create landscape materials and to model basic vegetation.
With these new skills, I went back to my Hunter’s Mountain Cabin project where I applied what I’d learned. My goal was to create a golden hour mood, which was recommended by my mentor Scot. He also advised me on the sky treatment and the fog height to further make the scene look like the real deal.
With the lighting and post process finished I made a showcase video with a flythrough of the scene, as well as inserting additional compositional shots. This was a big task because I had no prior experience with cinematics in Unreal Engine or in video editing. So I applied my usual strategy of research and practice to accomplish the task.
I wanted to add a cabin to my scene, with a waterfall nearby and a small river flowing into a lake. I built a basic blockout to get a feel for the composition, the scale of the scene, and the house itself. First I used the Unreal Engine blockout tools, then I replaced them with models and textures from Quixel Megascans to create a draft of the scene. The fence was created by putting together woodpiles. I added extra detail with assets like storage barrels and items from the Megascans library. The white cylinder on the right was scaled to a height of 1.8m.
As the terrain developed I curated the trees surrounding the house and worked out how the path leads down to the main road. I then decided to create a room interior. For the room interior, I used the model from the Brushify Asset Pack to create the layout of the walls and for the roof structure of the house. I applied the wood plank texture for the floor and changed the roof texture. I adjusted the base of the house to a rectangle and placed stone bricks on the exterior. I was pleased with the results and added stairs to the front of the house. I used the same stone bricks to indicate a path going from the house to the main road.
With the foundation of the house established, the next step was to add details. Houses are often made up of simple shapes and parts. I used wood planks and trims on the walls and roof, then I added plants and decals to make it look old and weathered.
For the interior, I decided to go for a one room layout with a ladder leading to the upper floor. I wanted the room to have lots of details but remain open so you can see through it without obstacles hindering the view. That's why I placed the beams of the house on the outer walls. The main focus of the room would be the fireplace, then the bed, table, and a working area, which later became the writing table. I wrote down lists of objects and materials that you would find in a cabin. With the list, I gathered assets from free sources like the Quixel Megascans Library and paid for asset packs from Unreal Engine Marketplace. I did the same for the environment surrounding the cabin, making a list of foliage for the area. I used tree stump models and cut wood to indicate humans interacting with nature.
By this stage I had downloaded all the assets I needed and had imported them into Unreal Engine. I archived all the elements into an asset zoo and made all the necessary modifications. After everything was arranged and amended, I started placing the assets into the level. I used a lot of references, especially from games, replicating how they execute interior design and how item placement is used to tell a story. I was constantly asking the questions does that fit here? does it make sense and how does it fit into the bigger composition?
With the exterior details I was especially careful with placement and how they affected the composition of the house and surrounding areas. I incorporated more noise to the surroundings by adding grass and flower patches, as well as stone pebbles and tree trunks. I changed the surrounding terrain by hand and added rock formations and bushes to further refine the composition.
Then it was time to go back to relighting to further expand my skills and take the scene to the next level. For this relighting project I got help from William Faucher, mentor of CGSpectrum’s new 3D Realtime and Virtual Production Diploma Course.
The first task in every iteration process is to assess what worked, what didn't work, and what could be improved. The project got a lot of praise for its composition and mood, but there were still some flaws that needed to be addressed. The overall brightness and contrast needed adjusting as it was too dark, especially in the shadowed areas. So the next task was to adjust the lighting. I had done most of the lighting and post process in Unreal Engine and minimal changes in Da Vinci Resolve.
I decided to switch the post process and edit in Da Vinci Resolve to improve my skills and to learn from William who specializes in the program. Having just barely covered the basics of Da Vinci with the first iteration of the project, I asked William to cover the basic workflows and procedures again. I learned a lot from him on top of what I already knew from his great Unreal Engine tutorials on YouTube.
Before going into Da Vinci Resolve we went over my project in Unreal Engine to set up cameras and sequences properly for the next stages. We also looked at some of the compositional elements of the scene and explored some possibilities. We tried different camera positions, different camera and lighting settings. William showed me some tricks to get the most out of the engine by using the sequencer and movie render queue, which offers new 4.25 and 4.26 options. For example, I usually rendered my sequences in jpg, which limits what you can do in the post process in Da Vinci Resolve. With William’s method, we extracted the images in exr and disabled the tone curve in the color output to have a better setup to work with in the post process.
We worked in Da Vinci Resolve using the exr renders from Unreal Engine. These have a very different look to the ones we would get from the normal jpg renders, but they gave us way more options to manipulate them with Da Vinci Resolve. The program offers a lot of ways to edit your shots, we focused primarily on the coloring section and worked with various correction nodes.
Da Vinci Resolve also easily lets you assess the color spaces through different curves and systems, this identifies dominant color ranges or problems with an image. For example, we recognized through a spike in the color curve that the waterfall was way too bright and needed to be turned down in Unreal Engine.
Once that was done, we started adding nodes. First we transformed the image with a color space transform node.
Then we added a node to change the overall base color curve to adjust different areas of the image.
The curve displays the color variation from darkness (left) to light (right), identifying the sweet spots for good base lightning composition. From there we added one node at a time to change certain elements of the image. For example a node for changing the temperature or one for changing the midtones. With every node you can change individual or multiple parts of the image, while still having full control of it. Da Vinci Resolve makes this process very intuitive and you can always go back to change or add nodes, allowing you freely experiment with different lighting treatments.
William also showed me how to add special effects such as a vignette and the glow effect in just a few steps. These can also be done in Photoshop or other programs, but it’s handy to do this directly in Da Vinci, especially with the node system being intuitive and beginner-friendly.
After going over the process with different shots and trying out different settings I went for lighting that still has that gamey-fantasy look to it, but leans more towards a realistic cinematic look. I personally love punchy, saturated and contrast-driven pictures, that’s why my images often tend to go into those directions, the same goes for my paintings.
Going through the process with William I noticed how much nuance there is to virtual production and in particular the field of color and lighting theory.
One of the great things about CG Spectrum is that the mentors treat students as creative individuals, and veer from the curriculum to meet their needs and give them the best experience.
Learn game design using Unreal Engine from experts who guide you towards upgrading your skills to a professional level. Our Game Design Diploma builds on your fundamental skills to create immersive game levels and interfaces, combine different gameplay systems to create engaging experiences, and learn to launch a successful game. CG Spectrum is an Unreal Academic Partner and Unreal Authorized Training Center. Take your talents to another level and launch your career!