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

スクリプト言語

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

Texture2D.GetPixels

フィードバック

ありがとうございます

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

閉じる

送信に失敗しました

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

閉じる

キャンセル

マニュアルに切り替える
public function GetPixels(miplevel: int = 0): Color[];
public Color[] GetPixels(int miplevel = 0);

パラメーター

説明

ピクセルのカラー配列を取得します

この機能は、全体のピクセルカラーの配列を返す テクスチャのミップレベル

平面の配列を返す、ピクセルは右から左にレイアウトされている 下から上に(行の後の行)。配列サイズは使用されるミップレベルの高さ、幅である。 デフォルトのミップレベルは 0 (ベーステクスチャ)です。その場合、サイズはテクスチャのサイズにぴたりと一致します。 一般的にミップレベルのサイズは mipWidth=max(1, width>>miplevel) そして高さも同様です。

テクスチャはインポートセッティングの Read/Write Enabled フラグを設定しなくてはいけません。でなければこのファンクションは失敗するでしょう。

GetPixels を使用すると、繰り返し GetPixel とを呼び出すよりも高速になります 特に大規模なテクスチャであれば高速になります。さらに、GetPixels は個々のミップマップレベルにアクセスすることができます。 ピクセルカラーのかたまりのすべてを返す GetPixels を使う方が早いでしょう。 int 値を float 値に変換します。

See Also: GetPixels32.

// Get a rectangular area of a texture and place it into a new
// texture the size of the rectangle.

// Source texture and the rectangular area we want to extract. var sourceTex: Texture2D; var sourceRect: Rect;

function Start () { // The values in the Rect structure are floats, so round them // down to the nearest integer. var x = Mathf.FloorToInt(sourceRect.x); var y = Mathf.FloorToInt(sourceRect.x); var width = Mathf.FloorToInt(sourceRect.width); var height = Mathf.FloorToInt(sourceRect.height);

// Get the pixel block and place it into a new texture. var pix = sourceTex.GetPixels(x, y, width, height); var destTex = new Texture2D(width, height); destTex.SetPixels(pix); destTex.Apply();

// Set the current object's texture to show the // extracted rectangle. GetComponent.<Renderer>().material.mainTexture = destTex; }
using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { public Texture2D sourceTex; public Rect sourceRect; void Start() { int x = Mathf.FloorToInt(sourceRect.x); int y = Mathf.FloorToInt(sourceRect.x); int width = Mathf.FloorToInt(sourceRect.width); int height = Mathf.FloorToInt(sourceRect.height); Color[] pix = sourceTex.GetPixels(x, y, width, height); Texture2D destTex = new Texture2D(width, height); destTex.SetPixels(pix); destTex.Apply(); GetComponent<Renderer>().material.mainTexture = destTex; } }

See Also: SetPixels, mipmapCount.


public function GetPixels(x: int, y: int, blockWidth: int, blockHeight: int, miplevel: int = 0): Color[];
public Color[] GetPixels(int x, int y, int blockWidth, int blockHeight, int miplevel = 0);

パラメーター

説明

ピクセルのカラー配列を取得します

この関数は、上記の GetPixels の拡張版です。 全体ミップレベルだけでなく y と x で始まる blockHeight と blockWidth を返も返します。 ブロックは使用される MIP レベルに適合しなければなりません。返される配列は blockWidth* blockHeight サイズです。