Version: 5.3 (switch to 5.4b)
言語English
  • C#
  • JS

スクリプト言語

好きな言語を選択してください。選択した言語でスクリプトコードが表示されます。

Texture2D.ReadPixels

フィードバック

ありがとうございます

この度はドキュメントの品質向上のためにご意見・ご要望をお寄せいただき、誠にありがとうございます。頂いた内容をドキュメントチームで確認し、必要に応じて修正を致します。

閉じる

送信に失敗しました

なんらかのエラーが発生したため送信が出来ませんでした。しばらく経ってから<a>もう一度送信</a>してください。ドキュメントの品質向上のために時間を割いて頂き誠にありがとうございます。

閉じる

キャンセル

マニュアルに切り替える
public function ReadPixels(source: Rect, destX: int, destY: int, recalculateMipMaps: bool = true): void;
public void ReadPixels(Rect source, int destX, int destY, bool recalculateMipMaps = true);

パラメーター

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

説明

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

現在アクティブな RenderTexture と定義位置のビューに(/ソース/パラメーターで指定された)から長方形ピクセル領域にコピーします 左下を( 0, 0 )座標とするピクセル空間を使用します。

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

レンダーターゲットが似ているとき(例えば、32 や 16 ビットの RenderTexture)、この関数は ARGB32RGB24 のテクスチャ形式で動作します。 HDR レンダーターゲット(ARGBFloat や ARGBHalf レンダーテクスチャ形式)から HDR テクスチャ形式(RGBAFloat や RGBAHalf)へとすることで読み込みをサポートします。

テクスチャはまた 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; } } }

See Also: EncodeToPNG.