Mati Codes
# _  _ ____ ___ _    ____ ____ ___  ____ ____ #
# |\/| |__|  |  |    |    |  | |  \ |___ [__  #
# |  | |  |  |  |    |___ |__| |__/ |___ ___] #
#                                             #
# _  _ ____ ___ _    ____ ____ ___  ____ ____ #
# |\/| |__|  |  |    |    |  | |  \ |___ [__  #
# |  | |  |  |  |    |___ |__| |__/ |___ ___] #
#                                             #

July 13, 2020

HOW TO EXECUTE AN UNREAL ENGINE BATCH MODE RENDER


Realtime rendering is fast, but you can still speed up and automate your workflows by batch rendering your Sequencer shots.

Using this approach you'll be able to render your master sequence or shots with the same options available to you via the Sequencer's render button, but you won't need to open up the UE4Editor to do so. By providing the UE4Editor.exe with additional flags, you can have it run the scripts on your projects without further interaction. In this case, we're running a AutomatedLevelSequenceCapture script to run our renders and all we need to tell Unreal is which project, map, and level sequence to render. Here's a simple example with some of the most basic options:

### Template -- Flags are case insensitive
### Only -game -MovieSceneCaptureType, -LevelSequence, and -NoLoadingScreen are required ###
UE4Editor.exe <PROJECT> <MAP> -game -MovieSceneCaptureType="/Script/MovieSceneCapture.AutomatedLevelSequenceCapture" -LevelSequence=<LEVEL_SEQUENCE_PATH> -NoLoadingScreen

### Example ###
"C:\Program Files\Epic Games\UE_4.25\Engine\Binaries\Win64\UE4Editor.exe" "D:\Unreal Projects\TestProj\TestProj.uproject" "/Game/TestProj/Maps/Overview" -game -MovieSceneCaptureType="/Script/MovieSceneCapture.AutomatedLevelSequenceCapture" -LevelSequence="/Game/Cinematics/shots/shot0010_01" -NoLoadingScreen -Windowed -MovieName="shot0010_01_render"

This will open a game window, play through the level sequence, and write out a movie with the name "shot0010_01_render.avi" to your project's "Saved/VideoCaptures" directory.
Note that the project path is a file system path, but map and level sequence are specified using UE4 asset paths. You'll need a GPU to render and as far as I can tell, you can't run this headless or offscreen. I experimented with "-WinX" and "-WinY" to move the render window offscreen , but that didn't work for me. Instead, I just use "-Windowed" so that it doesn't default to fullscreen and I can just leave it behind my active window and continue working.

That simple command isn't going to give you great results though. Here's a command with more options for better quality:

"C:\Program Files\Epic Games\UE_4.25\Engine\Binaries\Win64\UE4Editor.exe" "D:\Unreal Projects\TestProj\TestProj.uproject" "/Game/TestProj/Maps/Overview" -game -MovieSceneCaptureType="/Script/MovieSceneCapture.AutomatedLevelSequenceCapture" -LevelSequence="/Game/Cinematics/shots/shot0010_01" -NoLoadingScreen -Windowed -MovieName="shot0010_01_render" -ResX=1920 -ResY=816 -ForceRes -Windowed -MovieCinematicMode=yes -MovieWarmUpFrames=24 -NoTextureStreaming -NoScreenMessages -MovieQuality=100 -VSync

Hope that helps you get started with batch rendering your cinematics or other linear media. There are more options for rendering frames, rendering render passes, and increasing the quality even further in the documentation.

>>>

Tags

unreal engine, ue4, cinematics, batch rendering, rendering, realtime rendering