当前处于活动状态的渲染纹理。
所有渲染都将进入处于活动状态的 RenderTexture。
如果处于活动状态的 RenderTexture 为 /null/,则在主窗口中渲染所有内容。
设置 RenderTexture.active 与调用 Graphics.SetRenderTarget 相同。在实现
自定义图形效果时,您通常需要更改或查询处于活动状态的
渲染纹理;如果您只需要将摄像机渲染到纹理,
可以改用 Camera.targetTexture。
当 RenderTexture 处于活动状态时,
将自动创建其硬件渲染上下文(如果尚未创建)。
Additional resources: Graphics.SetRenderTarget, GraphicsTexture.active.
using UnityEngine; using System.Collections;
// Get the contents of a RenderTexture into a Texture2D public class ExampleClass : MonoBehaviour { static public Texture2D GetRTPixels(RenderTexture rt) { // Remember currently active render texture RenderTexture currentActiveRT = RenderTexture.active;
// Set the supplied RenderTexture as the active one RenderTexture.active = rt;
// Create a new Texture2D and read the RenderTexture image into it Texture2D tex = new Texture2D(rt.width, rt.height); tex.ReadPixels(new Rect(0, 0, tex.width, tex.height), 0, 0); tex.Apply();
// Restore previously active render texture RenderTexture.active = currentActiveRT; return tex; } }