当前处于活动状态的渲染纹理。
所有渲染都将进入处于活动状态的 RenderTexture。
如果处于活动状态的 RenderTexture 为 /null/,则在主窗口中渲染所有内容。
设置 RenderTexture.active 与调用 Graphics.SetRenderTarget 相同。
在实现自定义图形效果时,您通常需要更改或查询处于活动状态的渲染纹理;
如果您只需要将摄像机渲染到纹理,
可以改用 Camera.targetTexture。
当 RenderTexture 处于活动状态时,
将自动创建其硬件渲染上下文(如果尚未创建)。
另请参阅:Graphics.SetRenderTarget。
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);
// Restorie previously active render texture
RenderTexture.active = currentActiveRT;
return tex;
}
}