Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

ScreenCapture.CaptureScreenshotIntoRenderTexture

Объявление

public static void CaptureScreenshotIntoRenderTexture(RenderTexture renderTexture);

Параметры

renderTexture RenderTexture, которая будет заполнена содержимым экрана.

Описание

Захватывает скриншот вида игры в объект RenderTexture.

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

Информацию о том, когда вызывать этот метод, см. в примечании к ScreenCapture.CaptureScreenshotAsTexture.

using UnityEngine; using System.Collections; using UnityEngine.Rendering; public class ScreenCaptureIntoRenderTexture : MonoBehaviour { private RenderTexture renderTexture; IEnumerator Start() { yield return new WaitForEndOfFrame(); renderTexture = new RenderTexture(Screen.width, Screen.height, 0); ScreenCapture.CaptureScreenshotIntoRenderTexture(renderTexture); AsyncGPUReadback.Request(renderTexture, 0, TextureFormat.RGBA32, ReadbackCompleted); } void ReadbackCompleted(AsyncGPUReadbackRequest request) { // Текстура рендеринга больше не нужна, она была прочитана. DestroyImmediate(renderTexture); using (var imageBytes = request.GetData()) { // сделать что-то с данными пикселей. } } }
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3