座標(x,y)のピクセルのカラーを設定します
実際にグラフィックスカードによって変更されたピクセルをアップロードしてApplyを呼び出します。 アップロードは高度な操作ですので、 できる限りApplyをコールしてください。 常にランタイムでテクスチャを再生成している場合、速いかもしれません ピクセルの色の配列を生成し、SetPixelsに一度にすべてを設定することで速くすることができます。 この関数の機能はARGB32、RGB32、Alpha8のテクスチャフォーマットのみに対応しています。 異なるフォーマットであった場合、SetPixelは除外します。 テクスチャはまたRead/Writeフラグをインポート設定で設定します See Also: SetPixels, GetPixel, Apply.
function Start () { // Create a new texture and assign it to the renderer's material var texture = new Texture2D(128, 128); renderer.material.mainTexture = texture; // Fill the texture with Sierpinski's fractal pattern! for (var y : int = 0; y < texture.height; ++y) { for (var x : int = 0; x < texture.width; ++x) { var color = (x&y) ? Color.white : Color.gray; texture.SetPixel (x, y, color); } } // Apply all SetPixel calls texture.Apply(); }
using UnityEngine; using System.Collections; public class ExampleClass : MonoBehaviour { void Start() { Texture2D texture = new Texture2D(128, 128); renderer.material.mainTexture = texture; int y = 0; while (y < texture.height) { int x = 0; while (x < texture.width) { Color color = ((x & y) ? Color.white : Color.gray); texture.SetPixel(x, y, color); ++x; } ++y; } texture.Apply(); } }
import UnityEngine import System.Collections public class ExampleClass(MonoBehaviour): def Start() as void: texture as Texture2D = Texture2D(128, 128) renderer.material.mainTexture = texture y as int = 0 while y < texture.height: x as int = 0 while x < texture.width: color as Color = (Color.white if (x & y) else Color.gray) texture.SetPixel(x, y, color) ++x ++y texture.Apply()