Аргументы командной строки для рендеринга фильма в Unreal Engine 4

0
8
Карты Изогнутой Нормали в Unreal Engine 4

На этой странице представлены различные аргументы командной строки и консольные переменные, которые вы можете использовать, чтобы определить, какие настройки используются при визуализации ваших последовательностей.

Если вы не запустили редактор Unreal Engine 4 (UE4) из командной строки, прочтите раздел документации Запуск Unreal Engine для получения дополнительной информации.
Пожалуйста, прочтите раздел документации Рендеринг кинематографических фильмов, если вы хотите узнать больше о рендеринге видео в Unreal Engine 4 (UE4).

Обязательные команды

Эти команды необходимы для правильной визуализации последовательности изображений. Включайте их каждый раз, когда вы визуализируете из командной строки:

Аргумент – Описание 
-MovieSceneCaptureType=”/Script/MovieSceneCapture.AutomatedLevelSequenceCapture”

Используется для определения многих аргументов командной строки, перечисленных на этой странице.

-LevelSequence=”/Game/PathToSequence/SequenceName”

Сообщает редактору, какую последовательность воспроизводить.

-NoLoadingScreen

Экземпляр игры редактора не сможет правильно визуализироваться без этого.

Команды управления

Вот некоторые из рекомендуемых аргументов командной строки, чтобы дать вам полный контроль над качеством изображения, параметрами рендеринга и именованием / типом файла.

Колонка Применение включает в себя рекомендации о том, когда именно нужно использовать аргумент командной строки:

АргументОписаниеЗаметкиПрименение
-ResX=####Устанавливает горизонтальное разрешение для игрового окна.Например: -ResX=1920Ниже разрешение для предварительного просмотра, выше – для финального.
-ResY=####Устанавливает вертикальное разрешение для игрового окна.Например: -ResY=1080Ниже разрешение для предварительного просмотра, выше – для финального.
-ForceResПринудительно устанавливает окно в указанном разрешении, даже если оно превышает разрешение экрана.
-VSyncАктивирует VSYNC через командную строку.Высокая производительность, но это не повредит нам, так как мы не совершаем рендеринг в режиме реального времени.Финальный рендер.
-NoVSyncОтключает VSYNC через командную строку.Смотрите запись «Примечания» в строке -VSync (расположена над этой ячейкой).Предварительный просмотр.
-MovieFrameRate=30Устанавливает частоту кадров на выходе.Переопределяет значение по умолчанию 30 кадров в секунду.Зависит от потребностей вашего кино (например, ритмичное движение страдает при использовании низкого FPS. Это может быть нежелательно даже в превью).
-NoTextureStreamingОтключает потоковую передачу текстур.Для рендеринга потребуется больше времени, но оно того стоит для финальных рендеров.Финальный рендер.
-MovieFolder=”PATH”Папка назначения для визуализированных изображений.По умолчанию это Project / Saved / Screenshots.Рекомендуется при пакетном рендеринге. В противном случае все файлы изображений выгружаются в одну и ту же папку.
-MovieFormat=ASDМедиа формат. JPG, BMP, PNG или видео.По умолчанию PNG.
-MovieQuality=##Устанавливает качество сжатия.Выражается в процентах, по умолчанию – это 75.
-MovieName=”Example.{frame}”Устанавливает формат именования для выходных файлов.
WildcardОписание
{fps}Захваченная частота кадров.
{frame}Текущий номер кадра (актуально только для последовательностей изображений).
{width}Ширина захваченных кадров.
{height}Высота захваченных кадров.
{world}Название нынешнего мира.
{quality}Настройка качества сжатия изображения.
{material}Проход материала /рендера.
Определенно рекомендуется для пакетного рендеринга. Дает файлам уникальное имя, соответствующее имени карты, проходу рендеринга и т.д.
-MovieCinematicMode=Yes/NoВключает кинематографический режим.Скрывает персонажа игрока и отключает движение персонажа игрока. Также отключает HUD.Хорошо, если включать это все время.
-MovieWarmUpFrames=##Количество кадров для запуска сцены перед воспроизведением последовательности. Это не будет проигрываться в режиме реального времени.По умолчанию 0 кадров. Это также запустит кадры до начала диапазона воспроизведения вашей последовательности.Полезно, когда у вас есть системы частиц или физика, которые необходимо смоделировать перед началом записи.
-MovieDelayBeforeWarmUp=#Количество секунд до начала разогрева. Работает в режиме реального времени.Если вам нужно что-то сделать с вашей пешкой до начала последовательности.
-MovieStartFrame=###Переопределяет начальный кадр вашей последовательности.По умолчанию используются маркеры входа и выхода в Sequencer.
-MovieEndFrame=###Переопределяет конечный кадр вашей последовательности.По умолчанию используются маркеры входа и выхода в Sequencer.
-NoScreenMessages Скрывает экранные сообщения, такие как “Rebuild Lighting” или “Print String” (“Перестроить освещение” или “Печать строки”.

Проходы пользовательского рендера

Использование этих команд требует -MovieFormat=CustomRenderPasses и {material} в –MovieName.

АргументОписаниеЗаметки
-CustomRenderPasses=”RenderPassName”Устанавливает Проход пользовательского рендера.Доступны следующие параметры (исключить скобки): AmbientOcclusion, BaseColor, CustomDepth, CustomDepthWorldUnits, CustomStencil, FinalImage, MaterialAO (Ambient Occlusion), Metallic, Opacity, PostTonemapHDRColor, Roughness, SceneColor, SceneDepth, SceneDepthWorldUnits, SeparateTranslucencyA (Alpha), SeparateTranslucencyRGB, ShadingModel, Specular, SubsurfaceColor, WorldNormal.
-CaptureFramesInHDRРендеринг с HDR в формате .exr.
-HDRCompressionQuality=##Качество сжатия для кадров HDR (0 для сжатия без сжатия, 1 для сжатия по умолчанию, которое может быть медленным). Это зависит от значения -CaptureFramesInHDR.
-CaptureGamut=”HCGM_Name”Цветовая гамма, используемая при хранении захваченных данных HDR. Это зависит от -CaptureFramesInHDR.(См. Описание захвата гаммы ниже) HCGM_Rec709, HCGM_P3DCI, HCGM_Rec2020, HCGM_ACES, HCGM_ACEScg, HCGM_MAX.
-PostProcessingMaterial=”MaterialPath”Пользовательский материал пост-обработки, используемый для рендеринга.Формат выглядит так: “Material’/Engine/BufferVisualization/SceneDepth.SceneDepth'” 

Простой способ получить этот путь – щелкнуть правой кнопкой мышки по Материалу в Контент Браузере и выбрать Copy Reference (Копировать ссылку).

  • Capture Gamut Descriptions
    • HCGM_Rec709 – Rec. 709 / sRGB
    • HCGM_P3DCI – P3 D65
    • HCGM_Rec2020 – Rec. 2020
    • HCGM_ACES – ACES
    • HCGM_ACEScg – ACEScg

Консольные переменные

Следующие переменные консоли могут быть полезны для определения качества ваших рендеров и могут быть добавлены DefaultEngine.ini в папку Game / Config вашего проекта.

Значения, используемые ниже, являются рекомендованными значениями для наивысшего качества.
ПеременнаяОписание
r.ForceLOD=0Приводит все LOD к 0, а -1 отключает его.
r.MotionBlurQuality=4Определяет метод размытия в движении (с учетом качества или производительности): 0 выключен, 1 – низкий, 2 – средний, 3 – высокий (по умолчанию), 4 – очень высокий.
r.MotionBlurSeparable=1Добавляет второй проход размытия движения, который сглаживает шум для более качественного размытия. 0 выключен, 1 включен.
r.DepthOfFieldQuality=4Позволяет регулировать качество Depth of Field. В настоящее время только полностью влияет на BokehDOF. GaussianDOF – либо 0 для выключения, либо включен.

ЗначениеОписание
0Выключен
1Низкий
2Высокое качество (по умолчанию, адаптивное, может быть в 4 раза медленнее)
3Очень высокое качество, предназначено для кат-сцен не в реальном времени, только CircleDOF (медленно)
4Исключительно высокое качество, предназначено для заставок не в реальном времени, только CircleDOF (очень медленно)
r.HLOD=0Один аргумент: 0 или 1 для отключения / включения системы HLOD. Множественные аргументы: форсирует X, где X – это уровень HLOD, который нужно принудительно вывести для просмотра.
r.SSR.Quality=4Показывает, использовать ли отражения на экране и при каких настройках качества. Ограничивает настройку в настройках пост-обработки, которая имеет другой масштаб. Затрата производительности, добавляет больше визуального реализма, но техника имеет свои пределы.

ЗначениеОписание
0Выключен (по умолчанию)
1Низкий (без глянца)
2Средний (без глянца)
3Высокий (глянцевая / с использованием резкости, несколько образцов)
4Очень высокий (вероятно, слишком медленный для реального времени)
r.ViewDistanceScale=30Управляет масштабом расстояния просмотра. MaxDrawDistance примитива масштабируется по этому значению. Более высокие значения увеличат расстояние просмотра, но с затратами на производительность.
r.MipMapLODBias=-1Примяет дополнительное смещение карты MIP для всех 2D текстур в диапазоне от -15,0 до 15,0.
r.Shadow.MaxResolution=4096Максимальные квадратные размеры (в текселях), позволяющие отображать глубину тени. Диапазон от 4 до аппаратного ограничения. Более высокие = более качественные тени, но с затратами на производительность.

Примеры

В этом разделе мы предоставляем несколько примеров аргументов командной строки для различных ситуаций. В предоставленных примерах мы рассмотрим следующие особенности, связанные с нашим проектом.

  • Расположение сборки = C:\Program Files (x86)\Epic Games\4.##\Engine\Binaries\Win64\UE4Editor.exe
  • Расположение проекта = D:\Unreal Projects\SequencerTestBed\SequencerTestBed.uproject
  • Имя карты = TestRender_Map.umap
  • Имя последовательности = Test_Render_SQ

Предварительный просмотр Render

Ниже приведен пример предварительного просмотра в формате 16:9 со скоростью 30 кадров в секунду с разрешением 1280×720 в формате файла .jpg.


"C:\Program Files (x86)\Epic Games\4.##\Engine\Binaries\Win64\UE4Editor.exe" "D:\Unreal Projects\SequencerTestBed\SequencerTestBed.uproject" /Game/TestRender/TestRender_Map -game -MovieSceneCaptureType="/Script/MovieSceneCapture.AutomatedLevelSequenceCapture" -LevelSequence="/Game/Test_Render/Test_Render_SQ" -MovieFrameRate=30 -noloadingscreen -resx=1280 -resy=720 -MovieFormat=JPG -MovieQuality=75

Финальные рендеры

В этом примере мы используем следующее для наших окончательных, полностью качественных рендеров, нацеленных на 16:9 при 30 кадрах в секунду, разрешении 3840×2160, в формате файла .bmp.


"C:\Program Files (x86)\Epic Games\4.##\Engine\Binaries\Win64\UE4Editor.exe" "D:\Unreal Projects\SequencerTestBed\SequencerTestBed.uproject" /Game/TestRender/TestRender_Map -game -MovieSceneCaptureType="/Script/MovieSceneCapture.AutomatedLevelSequenceCapture" -LevelSequence="/Game/Test_Render/Test_Render_SQ" -MovieFrameRate=30 -noloadingscreen -resx=3840 -resy=2160 -forceres -MovieFormat=BMP -MovieQuality=100 -notexturestreaming -MovieCinematicMode=yes -MovieWarmUpFrames=60