public void ReadPixels (Rect source, int destX, int destY, bool recalculateMipMaps= true);

パラメーター

source 読み込み元のビューの長方形領域。
destX テクスチャ内の読みこむピクセルの水平位置。
destY テクスチャ内の読みこむピクセルの垂直位置。
recalculateMipMaps テクスチャのミップマップを読んだ後に再計算するかどうか

説明

スクリーン画面からテクスチャデータへと保存するためのピクセルデータを読み込みます

This will copy a rectangular pixel area from the currently active RenderTexture or the view (specified by the source parameter) into the position defined by destX and destY. Both coordinates use pixel space - (0,0) is lower left.

recalculateMipMaps が True に設定されている場合、テクスチャのミップマップは更新されます。recalculateMipMaps が False に設定されている場合は、Apply を呼び出し再計算する必要があります。

This function works on ARGB32 and RGB24 texture formats, when render target is of a similar format too (e.g. usual 32 or 16 bit render texture). Reading from a HDR render target (ARGBFloat or ARGBHalf render texture formats) into HDR texture formats (RGBAFloat or RGBAHalf) is supported too.

テクスチャはまた Read/Write フラグをインポート設定で設定します

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { public bool grab; public Renderer display; void OnPostRender() { if (grab) { Texture2D tex = new Texture2D(128, 128); tex.ReadPixels(new Rect(0, 0, 128, 128), 0, 0); tex.Apply(); display.material.mainTexture = tex; grab = false; } } }

関連項目: EncodeToPNG.