Описание
Замедляет время воспроизведения вашего приложения, чтобы позволить Unity сохранять скриншоты между кадрами.
Если это свойство имеет ненулевое значение, то Time.time увеличивается с интервалом CaptureDeltaTime (масштабируется на Time .timeScale) независимо от реального времени и продолжительности кадра. Это полезно, если вы хотите снять фильм с постоянной частотой кадров и оставить достаточно времени между кадрами для сохранения изображений экрана.
Примечание. CaptureDeltaTime никак не влияет на Time.unscaledTime. Поэтому, если части вашего приложения используют его для анимации или других эффектов, CaptureDeltaTime может быть недостаточно для захвата фильма.
using UnityEngine;
using System.Collections;
// Захват кадров в виде последовательности скриншотов. Изображения
// хранятся в виде файлов PNG в папке — их можно объединить в
// фильм с использованием программного обеспечения для работы с изображениями (например, QuickTime Pro).
public class ExampleClass : MonoBehaviour
{
// Папка для хранения наших скриншотов.
// Если папка существует, мы добавим числа, чтобы создать пустую папку.
public string folder = "ScreenshotFolder";
public int frameRate = 25;
void Start()
{
// Установите частоту кадров воспроизведения (после этого реальное время не будет относиться к игровому времени).
Time.captureDeltaTime = 1.0f / frameRate;
// Создать папку
System.IO.Directory.CreateDirectory(folder);
}
void Update()
{
// Добавить имя файла к имени папки (формат '0005 shot.png')
string name = string.Format("{0}/{1:D04} shot.png", folder, Time.frameCount);
// Захват снимка экрана в указанный файл.
ScreenCapture.CaptureScreenshot(name);
}
}