source | 読み込み元のビューの長方形領域。 |
destX | テクスチャ内の読みこむピクセルの水平位置。 |
destY | テクスチャ内の読みこむピクセルの垂直位置。 |
recalculateMipMaps | テクスチャのミップマップを読んだ後に再計算するか? |
スクリーン画面のピクセルデータを読み込みます
現在アクティブなRenderTextureまたは定義位置のビューに(/ソース/パラメータで指定された)から長方形ピクセル領域にコピーします 左下を(0,0)座標とするピクセル空間を使用します。 recalculateMipMapsがTrueに設定されている場合、テクスチャのミップマップは更新されます。 recalculateMipMapsがFalseに設定されている場合は、Applyをコールし再計算する必要があります。 この機能はARGB32やRGB24へテクスチャフォーマットでのみ動作します。 テクスチャはまたRead/Writeフラグをインポート設定で設定します 読み込むピクセルはフラッシュをサポートしていません。
// This script should be attached to a camera. // Grab the camera's view when this variable is true. var grab: boolean; // The "display" is the object whose texture will be set // to the captured image. var display: Renderer; function OnPostRender() { if (grab) { // Make a new texture of the right size and // read the camera image into it. var tex = new Texture2D(128, 128); tex.ReadPixels(new Rect(0, 0, 128, 128), 0, 0); tex.Apply(); // Set the display texture to the newly captured image. display.material.mainTexture = tex; // Reset the grab variable to avoid making multiple // captures. grab = false; } }
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; } } }
import UnityEngine import System.Collections public class ExampleClass(MonoBehaviour): public grab as bool public display as Renderer def OnPostRender() as void: if grab: tex as Texture2D = Texture2D(128, 128) tex.ReadPixels(Rect(0, 0, 128, 128), 0, 0) tex.Apply() display.material.mainTexture = tex grab = false
See Also: EncodeToPNG.