Объявление
public static Texture2D CaptureScreenshotAsTexture(int superSize);public static Texture2D CaptureScreenshotAsTexture(ScreenCapture.StereoScreenCaptureMode stereoCaptureMode);
Параметры
superSize | Коэффициент увеличения разрешения. |
stereoCaptureMode | Указывает текстуру глаза для захвата при включенном стереорендеринге.. |
Описание
Захватывает скриншот вида игры в объект Texture2D.
Когда параметр superSize
больше 1, будет создан снимок экрана с большим разрешением. Например, при передаче значения 4 снимок экрана будет 4x4 больше, чем обычно. Это полезно для создания скриншотов для печати.
Чтобы получить надежный результат от этого метода, вы должны убедиться, что он вызывается после завершения рендеринга кадра, а не во время процесса рендеринга. Простой способ убедиться в этом — вызвать его из сопрограммы, которая возвращает значение WaitForEndOfFrame. Если вы вызовете этот метод во время процесса рендеринга, вы получите непредсказуемые и неопределенные результаты.
using UnityEngine;
using System.Collections;
public class ScreenShotter : MonoBehaviour
{
IEnumerator RecordFrame()
{
yield return new WaitForEndOfFrame();
var texture = ScreenCapture.CaptureScreenshotAsTexture();
// сделать что-то с текстурой
// очистка
Object.Destroy(texture);
}
public void LateUpdate()
{
StartCoroutine(RecordFrame());
}
}