data | テクスチャのピクセルを初期化するのに使う byte 配列 |
size | データのサイズ(単位はバイト)。 |
Raw 形式データを読み取ってテクスチャのピクセルを格納します。
この関数はテクスチャピクセルメモリに Raw データを格納します。これは、圧縮テクスチャ形式データをテクスチャに読み込むには最も有用です。
渡されたデータは、幅、高さ、format や mipmapCount のデータによって、テクスチャ全体を格納するために必要なデータサイズをカバーしてなければいけません。ミップマップは最高解像度のテクスチャから始まり、ミップマップレベルの最小(最低解像度)のテクスチャになるまで直後に続いていき、メモリに積まれていきます。
例えば、ARGB32 の 16x8 テクスチャは、ミップマップなしで 512 byte 配列(16x8x4)の値を格納することができます。
実際にグラフィックスカードによって変更されたピクセルをアップロードして Apply を呼び出します。
See Also: SetPixels, SetPixels32, LoadImage, Apply.
using UnityEngine;
public class ExampleScript : MonoBehaviour {
public void Start () { // Create a 16x16 texture with PVRTC RGBA4 format // and will it with raw PVRTC bytes. Texture2D tex = new Texture2D(16, 16, TextureFormat.PVRTC_RGBA4, false); // Raw PVRTC4 data for a 16x16 texture. This format is four bits // per pixel, so data should be 16*16/2=128 bytes in size. // Texture that is encoded here is mostly green with some angular // blue and red lines. byte[] pvrtcBytes = new byte[] { 0x30,0x32,0x32,0x32,0xe7,0x30,0xaa,0x7f,0x32,0x32,0x32,0x32,0xf9,0x40,0xbc,0x7f, 0x03,0x03,0x03,0x03,0xf6,0x30,0x02,0x05,0x03,0x03,0x03,0x03,0xf4,0x30,0x03,0x06, 0x32,0x32,0x32,0x32,0xf7,0x40,0xaa,0x7f,0x32,0xf2,0x02,0xa8,0xe7,0x30,0xff,0xff, 0x03,0x03,0x03,0xff,0xe6,0x40,0x00,0x0f,0x00,0xff,0x00,0xaa,0xe9,0x40,0x9f,0xff, 0x5b,0x03,0x03,0x03,0xca,0x6a,0x0f,0x30,0x03,0x03,0x03,0xff,0xca,0x68,0x0f,0x30, 0xaa,0x94,0x90,0x40,0xba,0x5b,0xaf,0x68,0x40,0x00,0x00,0xff,0xca,0x58,0x0f,0x20, 0x00,0x00,0x00,0xff,0xe6,0x40,0x01,0x2c,0x00,0xff,0x00,0xaa,0xdb,0x41,0xff,0xff, 0x00,0x00,0x00,0xff,0xe8,0x40,0x01,0x1c,0x00,0xff,0x00,0xaa,0xbb,0x40,0xff,0xff, }; // Load data into the texture and upload it to the GPU. tex.LoadRawTextureData(pvrtcBytes); tex.Apply(); // Assign texture to renderer's material. GetComponent<Renderer>().material.mainTexture = tex; } }