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

スクリプト言語

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

Texture2D.SetPixels32

フィードバック

ありがとうございます

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

閉じる

送信に失敗しました

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

閉じる

キャンセル

マニュアルに切り替える
public function SetPixels32(colors: Color32[], miplevel: int = 0): void;
public void SetPixels32(Color32[] colors, int miplevel = 0);

パラメーター

説明

ピクセルカラー配列を設定します

この関数は、Color32 配列を受け取り、テクスチャ全体のミップレベルのピクセル色を変更します。 実際に変更アップロードする Apply を呼び出す グラフィックカードのピクセルに

colors の平面 2 次元配列、ピクセルは、右から左にレイアウトする 下から上(行の後の行)。配列サイズは使用される MIP レベルの height できまり、最低限の width の量でなければなりません。 デフォルトのミップレベルは 0 (ベーステクスチャ)です。その場合、サイズはテクスチャのサイズにぴたりと一致します。 一般的にミップレベルのサイズは mipWidth=max(1, width>>miplevel) そして高さも同様です。

この関数 ARGB32 のテクスチャ形式でのみ使用できます。 その他の形式では SetPixels32 は無視されます。 テクスチャもインポート設定で読み取り可能フラグが設定されている必要があります。

SetPixels32 を使用すると SetPixels よりも早く呼び出されます。

See Also: SetPixels, GetPixels32, GetPixels, Apply, LoadRawTextureData, mipmapCount.

// This script will tint texture's mip levels in different colors
// (1st level red, 2nd green, 3rd blue). You can use it to see
// which mip levels are actually used and how.

function Start () { var rend = GetComponent.<Renderer>();

// duplicate the original texture and assign to the material var texture : Texture2D = Instantiate(rend.material.mainTexture); rend.material.mainTexture = texture;

// colors used to tint the first 3 mip levels var colors = new Color32[3]; colors[0] = Color.red; colors[1] = Color.green; colors[2] = Color.blue; var mipCount = Mathf.Min( 3, texture.mipmapCount );

// tint each mip level for( var mip = 0; mip < mipCount; ++mip ) { var cols = texture.GetPixels32( mip ); for( var i = 0; i < cols.Length; ++i ) { cols[i] = Color32.Lerp( cols[i], colors[mip], 0.33 ); } texture.SetPixels32( cols, mip ); }

// actually apply all SetPixels32, don't recalculate mip levels texture.Apply( false ); }

public function SetPixels32(x: int, y: int, blockWidth: int, blockHeight: int, colors: Color32[], miplevel: int = 0): void;
public void SetPixels32(int x, int y, int blockWidth, int blockHeight, Color32[] colors, int miplevel = 0);

パラメーター

説明

ピクセルカラー配列を設定します

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