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 RGBA32
, 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.
The texture also has to have read/write enabled flag set in the texture import settings.
// Attach this script to a Camera //Also attach a GameObject that has a Renderer (e.g. a cube) in the Display field //Press the space key in Play mode to capture
using UnityEngine;
public class Example : MonoBehaviour { // Grab the camera's view when this variable is true. bool grab;
// The "m_Display" is the GameObject whose Texture will be set to the captured image. public Renderer m_Display;
private void Update() { //Press space to start the screen grab if (Input.GetKeyDown(KeyCode.Space)) grab = true; }
private void OnPostRender() { if (grab) { //Create a new texture with the width and height of the screen Texture2D texture = new Texture2D(Screen.width, Screen.height, TextureFormat.RGB24, false); //Read the pixels in the Rect starting at 0,0 and ending at the screen's width and height texture.ReadPixels(new Rect(0, 0, Screen.width, Screen.height), 0, 0, false); texture.Apply(); //Check that the display field has been assigned in the Inspector if (m_Display != null) //Give your GameObject with the renderer this texture m_Display.material.mainTexture = texture; //Reset the grab state grab = false; } } }
関連項目: EncodeToPNG.