Slay

Fully realize your virtual production workflows in Unreal Engine by learning about Slay and its cinematic techniques.

Windows
MacOS
Linux

Virtual production is supported in Unreal Engine through the use of various cinematic tools, rendering features, and workflows. The Slay sample, built by Mold3D Studio, was created to demonstrate techniques, rendering features, and workflows that can be achieved when considering virtual production in Unreal Engine.

This document provides an overview of how to view the Slay sample, as well as the workflows and production techniques that were used to create it.

Prerequisites

  • The Slay sample content is a graphically intensive scene. It requires at least an Intel Core i9 Series processor and GeForce RTX 2080 Ti, or similar.

  • When opening the project or Level for the first time, there may be a long initial load time as numerous assets are loaded and compiled for the first time.

Setup

To set up a project with the Slay sample, follow these steps:

  1. Open the Epic Games Launcher, click the Unreal Engine section, then open the Learn tab.

    ImageAltText

  2. Scroll down the page to the Slay sample, then click Free to add the sample to your Vault.

    ImageAltText

  3. Click Create Project and follow the on-screen instructions to download the Slay sample content and start a new project.

    ImageAltText

  4. Open your new project in the Unreal Editor.

You should now see the temple_P Level in your viewport.

slay temple level

Viewing the Slay Sequence

To view the Slay sequence, click the Cinematics button in the main toolbar and select TF_Edit.

open slay cinematic

This will open the Master Sequence for the Slay cinematic. You can see the multiple shots used to assemble the full sequence in this view.

slay master sequence

Select the Camera button on the Shot Track to look through the Cameras for each shot, and click the Play button to play the sequence.

play slay sequence

Quixel Megascan Assets

The Temple Level was built using a combination of unique assets and Quixel Megascan assets. These assets were used in Slay to provide background details, props, and foliage. Using Quixel Megascan assets in your project can save time and resources when creating large environments.

slay quixel megascan

You can view some of the Quixel Megascan assets used in the Slay sample by navigating to the Quixel Megascan website. Some notable examples include:

Shot-Based Workflow

The Slay sequence was created using Sequencer and its Shot-Based workflow. This was done so that each shot contains all necessary content for that shot only, rather than a larger single sequence. This setup allows for quick modifications to the sequence as a whole, as shots can be edited, trimmed, and re-arranged, just like in any non-linear editing software.

In the Master Sequence TF_Edit, you can see all the shots arranged in the Shot Track. Additionally there are Audio Tracks for playing audio that has been timed to the sequence edit, and a Fade Track for controlling the fade to and from black.

slay master sequence

Double-click any shot to open and view its contents.

Level Visibility

The first shot of Slay is an exterior view of the Temple. Because of this unique angle, it was necessary to create a custom Landscape and assets for a Level that only is visible for the duration of Shot TF0010_02. The Level's visibility is controlled by the Level Visibility Track, and can be seen in shot TF0010_02 (Shot 1)

With the Level Visibility Track placed inside the shot, it will evaluate only for the duration of the shot. In this case, the Level containing the lower-resolution Landscape for use when inside the Temple is hidden, and the Level containing higher-resolution Landscape and other assets is displayed instead.

slay level visibility terrain

You can manually preview the higher-resolution Landscape Level by navigating to the Levels panel, enabling Terrain_TF0010, and disabling Terrain.

Using Spawnables

Spawnables are Actors that are spawned and typically exist only for the duration of a single sequence. These are used extensively in several shots throughout the Slay sequence in order to address problems unique to each shot. Since each shot is its own sequence, spawnables will only exist for the duration of a shot, making it easier to manage these Actors.

An example of a spawnable Actor can be seen in Shot TF0020_01 (Shot 2). In this example, the original static mesh door is hidden and replaced with a spawnable Skeletal Mesh door, containing animation to match the character's movement as she opens it. When the shot ends, the door is unspawned automatically.

slay spawnable door actor

Artist Collaboration

In the Slay sample, each shot is its own sequence, and therefore its own asset. Shots also contain Subscene Tracks which are their own sequence assets as well. Because of this division of assets, it is much simpler to enable multiple artists to work on a single sequence or shot at the same time, without file conflicts occurring. Subscenes can also be duplicated, enabling the same contents to be reused and shared across multiple instances.

In several shots, you can see Subscene Tracks for both Lighting and FX, which enable artists from these disciplines to work within these sequences instead of the main shot sequence. In this way, subscenes are not only useful for limiting file conflicts, but also for Sequencer organization.

slay multi user subscene

You can double-click a Subscene section to open it and view its contents.

subscene contents

When a shot or subscene is opened from a parent sequence, it will be displayed within the context of the Master Sequence. This means that even though you are viewing only a single subscene, all tracks from the Master Sequence and current shot also remain visible. You can edit lights, add visual effects, and perform other actions with full visual context of the scene.

subscene editing

This context view can be enabled or disabled by toggling Evaluate Sub Sequences In Isolation from Sequencer's Playback Menu.

Camera Animation

The Camera animation for Slay was created entirely in Sequencer. In some cases, additive camera animation is also used to enhance the camera movement. This is done using Camera Animation Sequences, which are a form of Template Sequence.

additive camera animation

Double-clicking one of these Template Animations will open the corresponding template sequence, where you can view the animation that is being used.

camera animation sequence

Lighting and Materials

Lighting, Materials, and Effect usage plays a critical role in the Slay sample. Proper utilization of the Master Sequence and Shot ecosystem enables artists to more effectively light and apply material adjustments for each shot.

Lighting Workflows

As mentioned previously, lighting and other workflows can occur within Subscenes. Here, a typical lighting workflow would be to add your necessary Light Actors to the sequence as Spawnables. This is done so that the lights will only remain visible for the duration of the shot, and do not need to be manually turned on or off.

spawnable light

Other lighting techniques can be used to enhance your shots, such as using Light Blockers to block out certain areas of a scene from the main Level's light. Afterward you can more directly control the lighting of a shot using your spawnable lights.

For example, in Shot TF0020_01 (Shot 2), if you disable the Camera button to stop piloting it, then navigate in the viewport to view the Temple entrance area, you should see a large Light Blocker being used. This is used so that a more controlled lighting environment can be created for the shot.

light blocker

With the light blocker in place, other lights can be spawned to better enhance the lighting in this shot, such as the spotlight shining through the nearby lattice, which casts soft shadows on the door.

slay lighting

In some other cases, it may be necessary to hide certain meshes to let light pass through and shine on your Actors. In Shot TF0080_01, part of the Temple structure is hidden in order to let the sunlight cast on the Oni character.

hide level for lights

Lighting Channels are also used in Slay to control how lights affect the environment and characters. In this case, spawnable lights are only affecting Channel 2. This same channel is then enabled on all Characters, causing them to be lit by these lights. The environment is not lit by these lights because those meshes only have Channel 0 enabled.

lighting channels

Material Workflows

If a Material is set up with parameters, you can reference these parameters in Sequencer to make overriding material parameter adjustments. In Slay, this was done to make minor adjustments to materials for specific shots. Similar to the previous lighting and shot-based workflows, these edits can be made on a per-shot basis without persisting to the next shot.

In Shot's TF00110_01 Lighting Subsequence, you can see the Roughness and other parameters on Oni's armor material are adjusted using Material Element Tracks. The Material Element number corresponds to the same Material Element ID on the mesh.

material parameter track

Clicking Add Parameter (+) will reveal a list of the available material parameters for that element. Select a parameter to add it as a track.

add material

Render Settings

The Slay sample was created to be rendered as Final Pixel out, showcasing the high quality images that can be rendered with Unreal Engine. Because of this, there are several important parameters that are being set that increase the fidelity of the scene in both the viewport and when rendered using Movie Render Queue.

Post Process Volume

Post Processing is used in the scene to control Ray Tracing effects such as Global Illumination, Reflections, and Shadows. Color correction is also applied using Color Grading and Filmic Tonemapper properties.

To view the post process properties being used in Slay, select the Post Process Volume in the Level. It can be found by searching for it in the World Outliner.

post process volume

You can preview the effects of the Post Process Volume by enabling or disabling the Enabled property in its details. Using post processing can help you in making your scenes appear more vibrant.

Post Processing Off

Post Processing On

Viewport Optimization

As Slay is a graphically intense project, it became necessary to optimize the editor viewport experience to ensure smooth, reliable performance when working in Unreal Engine. This was done by setting certain Console Variables within the DefaultEngine.ini Configuration File.

Some examples of the variables being set are:

  r.HairStrands.Enable 1.0
  r.HairStrands.DeepShadow.Resolution 512.0
  r.RayTracing.Shadows.AcceptFirstHit 1.0
  r.RayTracing.SkyLight.ScreenPercentage 55.0

To view the other console variables in use, you can navigate to the Config folder located in the install location of the Slay project and open DefaultEngine.ini in a text editor.

Movie Render Queue Settings

The final picture for Slay is rendered using Unreal Engine's Movie Render Queue tool. Movie Render Queue supports several features for producing high-quality renders, such as its temporal subsampling feature which is used to apply a high-quality radial motion blur effect. Additionally, Console Variables are used in Slay to increase graphical fidelity during the rendering process.

To open the Movie Render Queue window, click the Render button in Sequencer's Toolbar.

open movie render queue

The specific render settings used for Slay are saved as a Movie Pipeline Master Config Asset. To apply this preset to the render, click the Settings dropdown menu and select Slay_MovieRenderQueue_Preset.

render settings preset

To see the settings being used, click the Slay_MovieRenderQueue_Preset settings text. This will open the Render Settings window which contains the various output, quality, and other settings applied during the rendering process.

render settings

Anti-Aliasing

In order to reduce image noise, as well as to produce smoother edges and motion blur, Anti-Aliasing is used with Temporal Sample Count set to 19.

slay anti aliasing render settings

Console Variables

To increase graphical fidelity in several areas including Motion Blur, Subsurface Scattering, and Raytracing, the following Console Variables are used:

slay console variable render settings

  r.MotionBlurQuality 4.0
  r.MotionBlurSeparable 1.0
  r.DepthOfFieldQuality 4.0
  r.ScreenPercentage 125.0
  r.ViewDistanceScale 50.0
  r.SSS.Quality 1.0
  r.SSR.Quality 4.0
  r.Shadow.DistanceScale 10.0
  r.ShadowQuality 5.0
  r.Shadow.RadiusThreshold 0.001
  r.SkeletalMeshLODBias -4.0
  r.RayTracing.GlobalIllumination.FireflySuppression 1.0
  r.RayTracing.SkyLight.ScreenPercentage 100.0
  r.RayTracing.AmbientOcclusion 1.0
  r.DiffuseIndirect.Denoiser 1.0
  r.RayTracing.Shadows.AcceptFirstHit 0.0
  r.HairStrands.Enable 1.0
  r.PathTracing.MaxBounces 2.0
  r.TemporalAACurrentFrameWeight 0.3
  r.RayTracing.GlobalIllumination.SamplesPerPixel 4.0
  r.RayTracing.Reflections.MaxRoughness 1.0
  r.RayTracing.GlobalIllumination.MaxBounces 2.0
Tags
Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss