Объявление
public void LoadRawTextureData(byte[] data);public void LoadRawTextureData(NativeArray
public void LoadRawTextureData(IntPtr data, int size);
Параметры
| data | Массив необработанных данных для инициализации пикселей текстуры. | 
| size | Размер данных в байтах. | 
Описание
Заполняет пиксели текстуры необработанными предварительно отформатированными данными.
Эта функция заполняет память пикселей текстуры необработанными данными. Это в основном полезно для загрузки данных формата сжатой текстуры в текстуру.
Переданные данные должны иметь необходимый размер для заполнения всей текстуры в соответствии с ее шириной, высотой, форматом данных и mipmapCount ; в противном случае выдается исключение UnityException. MIP-карты располагаются в памяти, начиная с самой большой, сразу за ней следуют данные меньшего уровня. Например, текстура 16 x 8 в формате RGBA32 без MIP-карт может быть заполнена массивом размером 512 байт (16 x 8 x 4).
Для генерации текстуры во время выполнения также можно напрямую записывать данные текстуры с помощью GetRawTextureData, который возвращает Unity.Collections.NativeArray . Это может быть быстрее, так как позволяет избежать копирования в память, которое сделал бы LoadRawTextureData.
Вызовите Применить после установки данных изображения, чтобы фактически загрузить их в графический процессор.
Смотрите так же: SetPixels, SetPixels32, SetPixelData, Apply, GetRawTextureData, ImageConversion.LoadImage.
using UnityEngine;
public class ExampleScript : MonoBehaviour
{
    public void Start()
    {
         // Создаем текстуру 16x16 в формате PVRTC RGBA4
         // и заполнить его необработанными байтами PVRTC.
        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;
    }
}


