Объявление
public void SetPixelData(T[] data, int mipLevel, int sourceDataStartIndex = 0);public void SetPixelData(NativeArray
Параметры
| data | Массив данных для инициализации пикселей текстуры. | 
| mipLevel | Мип уровень для заполнения. | 
| sourceDataStartIndex | Индекс в исходном массиве, с которого начинается копирование (по умолчанию 0). | 
Описание
Установите значения пикселей из необработанных предварительно отформатированных данных.
Эта функция заполняет пиксельную память текстуры одного уровня MIP необработанными данными. Это полезно, если вы хотите загрузить в текстуру сжатые или другие данные формата текстуры, не относящиеся к цвету.
Вы должны сделать передаваемые данные требуемого размера, чтобы заполнить весь уровень mip текстуры в соответствии с ее шириной, высотой и форматом данных. В противном случае Unity выдает исключение.
Вызовите Применить после установки данных изображения, чтобы фактически загрузить их в графический процессор.
SetPixelData создает исключение в случае сбоя.
Смотрите так же: SetPixels, LoadRawTextureData, GetPixelData, Apply.
using UnityEngine;
public class ExampleScript : MonoBehaviour
{
    public void Start()
    {
        var tex = new Texture2D(2, 2, TextureFormat.RGB24, true);
        var data = new byte[]
        {
            // mip 0: 2x2 size
            255, 0, 0, // red
            0, 255, 0, // green
            0, 0, 255, // blue
            255, 235, 4, // yellow
            // mip 1: 1x1 size
            0, 255, 255 // cyan
        };
        tex.SetPixelData(data, 0, 0); // mip 0
        tex.SetPixelData(data, 1, 12); // mip 1
        tex.filterMode = FilterMode.Point;
        tex.Apply(updateMipmaps: false);
        GetComponent<Renderer>().material.mainTexture = tex;
    }
}


