Gabe Tandy talked about the work process behind The Grasslands project, explained how he achieved realistic lighting, and spoke about the advantages of the Megascans library.
Hey everyone, my name is Gabe Tandy. I’m 20 years old and live in the USA. Outside of making art, I enjoy weight lifting, hiking, and cooking. I’m currently working at Quixel/Epic as a photogrammetry artist. Before joining Quixel/Epic I worked freelance as a jack-of-all-trades. I did photography, videography, graphic design, and 3D. I started making 3D art in 2019, initially using Cinema 4D and Octane as my main tools. Not so long after that, the Unreal Engine 5 demo was released and like many other people, I was drawn to the new real-time capabilities of the engine. Soon after watching the demo, I began using Unreal and I have stuck with it ever since.
I started practicing my artistic skills years before I began 3D. I shot a lot of photography and videography. Working with a real camera and physical lights really helps to strengthen your creativity and much of my old workflow has influenced the way I work in 3D.
I have worked on projects ranging from music stage visuals to product showcases. Most of my workflow regarding these types of nature environments came from my personal art projects that allowed me to explore and experiment with various workflows.
The Grasslands Project
My main secret with this scene is that I used Unreal Engine’s relatively new path tracer. It's an incredibly powerful tool inside Unreal and it allows you to quickly have realistic lighting out of the box. Another important step to having a realistic environment is a realistic sky. All my environments used HDRIs for the sky. Lastly, the assets I used are all very realistic because the majority of them are photoscanned (Quixiel Megascans).
Unreal is fantastic for creating these photorealistic environments because it allows you to throw millions of triangles at it and use high-res textures while still maintaining usable performance. It also gives you the creative freedom to choose how you want to render your scene, either by using Lumen or the path tracer.
My pipeline is relatively simple. I’ll put it in bullet form because I think that is the best way to map it out.
- Gather reference images and characteristics of the environment;
- Set up my level (base lighting pass);
- Create and import assets;
- Generate base terrain in Gaea;
- Build pine and oak trees in SpeedTree (I used the default oak tree model from SpeedTree and randomized it);
- Import Megascans using Bridge in UE5;
- Set dressing;
- Final lighting pass plus adding atmospherics;
- Render using Movie Render Queue;
- Color correct using Davinci Resolve,
Using Quixel Megascans
I might be a bit biased but Quixel has the largest and highest quality photoscanned asset library in the world. With the power of Nanite and Lumen, it forms the perfect triangle of tools to build photorealistic environments. I used many Quixel Megascans for this project. All the grasses and most of the textures are Megascans and were brought into my project using the new integrated version of Bridge in UE5. It's so handy to be able to keep that process all in one program and the speed that it gives allows me to quickly add and sort my assets.
I achieved realistic lighting for the Grasslands in part thanks to the path tracer and using HDRIs. My lighting workflow is very simple. I create my main lights using the Environment Light Mixer in Unreal. I then add a post-process volume and enable infinite extent and clamp my exposure values. Then I bring in a sphere and add my HDRI material to it. I align the HDRI sun and my directional light then just rotate both components until I find something that looks good. A helpful tip when lighting is to turn down the scene’s saturation in the post-process volume making everything black and white. That way, it's easier to read the scene's contrast and see what changes need to be made to highlight the main focal point.
For rendering my scene, I used the Movie Render Queue and exported my frames as EXR files. I used 1000 samples for each shot and didn't use any fancy console commands to spice up my images. After they were rendered I brought them into Davinci Resolve and made some tweaks to the levels and colors, and added some grain and chromatic aberration. That's it.
Each scene took a handful of hours to build and render. The hardest part for me is creating a solid base landscape that has a pleasing composition. However, once I have that done, everything else moves quite quickly. A few challenges that I ran into were maintaining some level of performance so I could work and not be held up by a laggy project. I improved the performance of my scene by using the old shadow method (since I used the path tracer I did not need the new virtual shadows) and disabling my foliage when working on my terrain or lighting. The second challenge was, the placement of foliage so it looks natural and realistic. My solution was to use many reference images to help me make those decisions and train my eye for what looks right.
For new artists wanting to learn Unreal, there is no better time than now. Unreal might seem like a daunting program but in all reality, it's pretty straightforward. YouTube is your friend, most of my knowledge has come from watching tutorials and environment breakdowns that people have posted. Set yourself some goals of what you want to achieve in Unreal and find someone else who has already done it. Then study them and their work and apply yourself to learning their process. Once you understand it and can do it, then make it your own.
Gabe Tandy, Photogrammetry Artist at Quixel
Interview conducted by Theodore McKenzie
This content is brought to you by 80 Level in collaboration with Unreal Engine. We strive to highlight the best stories in the gamedev and art industries. You can read more Unreal Engine interviews with developers here.
You may find these articles interesting