Version: 2017.3

ScreenCapture.CaptureScreenshotAsTexture

切换到手册
public static Texture2D CaptureScreenshotAsTexture (int superSize);

参数

superSize 分辨率的增加倍数。

描述

将此游戏对象的截屏捕获到 Texture2D 对象中。

superSize 参数大于 1 时,将生成更大分辨率的 截屏。例如,传递 4 将使截屏比通常情况大 4x4。 这适用于生成用于打印的截屏。

The resulting screenshot is influenced by when, in the frame processing, it is invoked. To capture all the rendering stacks, it needs to be called once the frame has ended. Using a coroutine that yeilds on WaitForEndOfFrame is a simple way of doing so. If end of frame has not been reached when this metod is called, some rendering artifacts (like UI for example) may not be contained in the generated texture.

using UnityEngine;
using System.Collections;

public class ScreenShotter : MonoBehaviour { IEnumerator RecordFrame() { yield return new WaitForEndOfFrame(); var texture = ScreenCapture.CaptureScreenshotAsTexture(); // do something with texture

// cleanup Object.Destroy(texture); }

public void LateUpdate() { StartCoroutine(RecordFrame()); } }