Запись видео с Video Grabber
Whatever project you are developing, be it a game, an architectural visualization, or an excavator simulator, you may need to record a video (a cutscene for a game or a video presentation of your simulator) and take beautiful high-resolution screenshots. In the previous section we've covered how to animate a scene, make objects move and change their parameters in real time, as well as how to show it from different angles using moving cameras, and adding actions. Now let's figure out how to turn this into a clip or a set of images, which can be shown anywhere, without having an engine or editor at hand.Какой бы проект вы ни разрабатывали, будь то игра, архитектурная визуализация, или симулятор экскаватора, вам может понадобиться записать видеоролик (кат-сцену для игры, или видеопрезентацию вашего симулятора) и вдобавок наснимать красивых скриншотов в высоком разрешении. В предыдущем разделе мы разобрались с тем, как оживить сцену, заставить объекты двигаться и менять свои параметры в динамике, а также с тем, как показать это с разных ракурсов с использованием движущихся камер, увеличивая плотность действия и добавляя экшена. Теперь давайте разберемся, как из всего этого получить ролик или набор картинок, которые можно будет демонстрировать где угодно, не имея под рукой ни движка, ни редактора.
UNIGINE has the Video Grabber tool built into the Editor to create high quality screenshots and capture sequences of frames for video clips.Итак, в UNIGINE для создания высококачественных снимков экрана и захвата последовательности кадров для видеороликов есть инструмент Video Grabber, который встроен в Редактор.
Capturing ScreenshotsДелаем снимок экрана#
To open Video Grabber, select the appropriate item from the Editor menu:Чтобы открыть Video Grabber, выберите соответствующий пункт в меню редактора:
The Video Grabber window will open:Откроется окно Video Grabber:
The settings available in it allow you to select:Представленные в нем настройки позволяют выбрать:
|
To capture a screenshot, we'll require the Single shot mode. The sequence of actions to create a screenshot is as follows:Для создания скриншотов нам понадобится режим Single shot. Последовательность действий для создания снимка экрана такова:
- Set the desired camera view.Установите желаемый вид с камеры.
- Select the required camera from the list: the standard viewport camera (Engine Camera) or any other camera available in the scene (the "*" button will refresh the list).Выберите нужную камеру из списка: стандартную камеру вьюпорта (Engine Camera) или любую другую из имеющихся в сцене (кнопка "*" обновит список).
- Specify the required resolution (to use the current viewport size, press the "*" button).Укажите желаемое разрешение (чтобы использовать текущий размер вьюпорта – нажмите кнопку "*").
- Select antialiasing mode (supersampling multiplier) to improve image quality and remove the jagged effect on diagonal edges.Выберите режим сглаживания (множитель суперсэмплинга), чтобы улучшить качество изображения и устранить пилообразный эффект на наклонных гранях.
- Specify the target folder and select the desired output format (for example, JPG will provide the best compression and EXR supports 16-bpc color depth).Укажите целевую папку и выберите желаемый выходной формат (к примеру, JPG обеспечит наилучшее сжатие, а EXR поддерживает глубину цвета 16-bpc).
- Now all you need to do to get a screenshot is to click Grab.Теперь для получения скриншота достаточно щелкнуть Grab.
- If you don't want to see any auxiliary visualizations in the final image, disable Visualizer (Helpers → Visualizer Mode → Disabled).Если вы не хотите видеть все вспомогательные визуализации в финальном изображении, отключите Visualizer (Helpers → Visualizer Mode → Disabled).
- If you need a specific screen resolution, regardless of your current monitor resolution, simply enable virtual resolution and specify the required screen size (Settings → Render → Screen → Virtual Resolution).Если вам нужно конкретное разрешение экрана, независимо от текущего разрешения монитора, просто включите виртуальное разрешение и укажите нужный размер экрана (Settings → Render → Screen → Virtual Resolution).
- If you need a transparent background, enable the Background Alpha Mask option (unavailable for JPG format).Если вам нужен прозрачный фон, включите опцию Background Alpha Mask (недоступно для формата JPG).
Capturing Frame SequencesЗахват последовательности кадров#
To capture a sequence of frames, we need a track with an animation that we created in the Tracker tool. Frame sequences are captured in a special mode (not in real time), and this allows you to get a given frame rate on any hardware.Для захвата последовательности кадров, нам понадобится трек с анимацией, которую мы создали в инструменте Tracker. Последовательности кадров захватываются в специальном режиме (не в реальном времени), это позволяет получить заданную частоту кадров на любом оборудовании.
Switch Grabber to the Sequence mode and do the following:Переключите Grabber в режим Sequence и выполните следующие действия:
- Set the desired frame rate.Задайте нужную частоту кадров.
- Specify the animation track that we prepared for our project in Tracker (tracks/camera_animation.track).Укажите анимационную дорожку, которую мы подготовили для нашего проекта в Tracker (tracks/camera_animation.track).
- Set the desired screen resolution, antialiasing mode, target folder, output format, and other settings (just like we did for screenshots).Задайте желаемое разрешение экрана, режим сглаживания, целевую папку, выходной формат и другие настройки (также как мы делали это для скриншотов).
- Now you can start capturing frames by clicking the Grab button. If you want the editor to continue capturing even when out of focus, enable the Keep Running In Background option (Settings → Editor).Теперь можно начать захват кадров, нажав кнопку Grab. Если вы хотите, чтобы редактор продолжал захват даже будучи не в фокусе, включите опцию Keep Running In Background (Settings → Editor).
- When the capture process is complete, you will find the sequence of frames as a set of images in the specified target folder.По завершении процесса захвата в указанной целевой папке вы найдете последовательность кадров в виде набора изображений.
The first few frames may contain screen-space effect artifacts and incorrect exposure. To correct them, use the Warmup option: specify the number of frames to be skipped before starting capture.В первых нескольких кадрах могут быть заметны артефакты экранных эффектов и неправильной экспозиции, чтобы исправить их, используйте опцию "прогрева" (Warmup): укажите количество кадров, которые нужно пропустить перед началом захвата.
If adaptive exposure is not required, switch to static mode (Settings → Camera Effects → Exposure Mode).Если адаптивная экспозиция не требуется, переключитесь на статический режим (Settings → Camera Effects → Exposure Mode).
Note that all repetitive captures stored in the same folder will share a common frame count, so to avoid mixing sequences, either clear the target folder before capturing, or use separate folders for different sequences.Обратите внимание, что все повторные захваты в одной папке имеют один общий счетчик кадров, поэтому, чтобы не запутаться в последовательности, либо очистите целевую папку перед захватом, либо используйте для разных секвенций отдельные папки.
Converting a Frame Sequence to VideoПреобразование последовательности кадров в видео#
You can convert the captured frame sequence into a video using a third-party video editor (such as Adobe Premiere). You can also assemble video from images using the ffmpeg library. For example, if you have captured a sequence of frames in TGA format, then to compile them into a video with a frequency of 30 frames per second (the same as you specified when capturing). To do that, enter the following in the command line:Полученную последовательность кадров можно преобразовать в видеоролик при помощи стороннего видеоредактора (например, Adobe Premiere). Собрать видео из картинок также можно воспользовавшись библиотекой ffmpeg. Например, если вы захватили секвенцию кадров в формате TGA, то для склеивания их в видео с частотой 30 кадров в секунду (той же, что вы указали при захвате) достаточно ввести в командной строке следующее:
ffmpeg -framerate 30 -i frame_%d.tga -vcodec libx264 -pix_fmt yuv420p output.mp4ffmpeg -framerate 30 -i frame_%d.tga -vcodec libx264 -pix_fmt yuv420p output.mp4
Once the conversion is complete, your finished video output.mp4 will appear in the same folder.После окончания преобразования в этой же папке появится ваше готовое видео output.mp4.