現在アクティブなレンダーテクスチャ
すべてのレンダリングは有効なレンダーテクスチャに対して行なわれます。
もし有効な RenderTexture が null
である場合、すべてがメインウィンドウにレンダリングされます。
RenderTexture.active を設定することは Graphics.SetRenderTarget を呼び出すことと同じです。
カスタムのグラフィックエフェクトを実装するとき、通常はアクティブなレンダーテクスチャを変更や照会します。
必要とするすべてがカメラレンダーをテクスチャにする場合、代わりに Camera.targetTexture を使用します。
RenderTexture がアクティブになったとき、それがまだ作成されていない場合、そのハードウェアレンダリングコンテキストが自動的に作成されます。
See Also: 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; } }