These extended Quixel video tutorials take a deep dive into performance optimization.
Earlier this year, Quixel posted a series of tutorial videos showing Unreal Engine users how they could craft a real-time interactive (and fully-playable) medieval game environment using Megascans assets. The videos covered all the way from blockout to asset creation, plus a look at the creation of lighting, foliage and set dressing for the atmospheric environment.
Then, last month, a new Quixel video tutorial series from Matt Oztalay (Technical Artist – Developer Relations at Epic Games) dived deep into how users could improve the performance of this real-time medieval game environment, which was made in UE4, with some key optimizations, while maintaining incredible image quality.
The 5-part video series went through several optimization options for the scene, which you can actually get for free from the Unreal Engine Marketplace. The options included ways of handling lights and shadows, the hierarchal level of detail system, optimizing the landscape build, and using runtime virtual textures.
Here’s the full 5-video playlist, and we also run through what’s in each video briefly below.
Part 1. Performance Optimization
In the first video, you’ll learn how to manage performance on a typical game project, and how Quixel did exactly that for the Medieval Village environment. Oztalay shows you metrics and how to gather them, budgets and how to make them, testing for consistency, and performance analysis. You’ll see how to set up performance tracking tools, how to set budgets for particular rendering features and how to test the performance.
Part 2. Lights & Shadows
The second video outlines how to optimize your scene in relation to dynamic lights, such as setting fade distances, appropriate attenuation radii, using light functions sparingly and being selective and casting shadows. In fact, this video also covers shadows separately—particularly issues that can come up with distance field shadows and ground cover.
Part 3. HLODs
HLODs, or the hierarchical level of detail system, is the subject of the third video. Here you’ll find out ways to render your game scene more efficiently with instance static meshes, reducing the complexity of objects in the distance with HLODs, and looking to only render what we can see by setting a reasonable draw distance on foliage.
Part 4. Landscape Basics
Next up is a discussion of the many extra features inside Unreal Engine and Quixel Megascans to make landscapes that much more compelling. The video discusses: the reusable material function, wetness and puddles, glancing angle specular correction and landscape grass and texture. There’s a great demo here of using weight-blended layers to set up and create landscape materials for your project.
Part 5. Runtime Virtual Textures
The final video in this performance optimization video series for the medieval game environment is about setting up runtime virtual texturing to bring everything together. This is a way of letting you draw lots of stuff, top down, into a huge texture set without a huge memory overhead, ie., fewer draw calls.
And that’s the video series, in a nutshell. Remember, you can get the full Medieval Village scene for free on the Unreal Engine Marketplace, and you can also access the Medieval Village Collection from Quixel Megascans, free for use with Unreal Engine.