Объявление
public void SetPixelData(T[] data, int mipLevel, CubemapFace face, int sourceDataStartIndex = 0);public void SetPixelData(NativeArray
Параметры
| mipLevel | Мип уровень для заполнения. | 
| face | Грань кубической карты для заполнения. | 
| sourceDataStartIndex | Индекс в исходном массиве, с которого начинается копирование (по умолчанию 0). | 
| data | Массив данных для инициализации пикселей текстуры с помощью. | 
Описание
Установите значения пикселей из необработанных предварительно отформатированных данных.
Эта функция заполняет память пикселей текстуры одного уровня MIP и одной грани кубической карты необработанными данными. Это полезно, если вы хотите загрузить в текстуру сжатые или другие данные формата текстуры, не относящиеся к цвету.
Вы должны сделать передаваемые данные требуемого размера, чтобы заполнить весь уровень mip текстуры в соответствии с ее шириной, высотой и форматом данных. В противном случае Unity выдает исключение.
Вызовите Apply после установки данных изображения, чтобы фактически загрузить их в графический процессор.
SetPixelData создает исключение в случае сбоя.
Смотрите так же: SetPixels, GetPixelData, ::Apply.
using UnityEngine;
public class ExampleScript : MonoBehaviour
{
    public void Start()
    {
        Cubemap cubemap = new Cubemap(2, TextureFormat.RGB24, true);
        var byteArray = new byte[] {255, 0, 0,
                                    0, 255, 0,
                                    0, 0, 255,
                                    255, 235, 4,
                                    255, 0, 255,
                                    255, 255, 255,
                                    0, 0, 0,
                                    0, 255, 255,
                                    255, 0, 255};
        cubemap.SetPixelData(byteArray, 0, CubemapFace.PositiveX);
        cubemap.SetPixelData(byteArray, 1, CubemapFace.PositiveX,  12);
        cubemap.SetPixelData(byteArray, 0, CubemapFace.NegativeX, 15);
        cubemap.SetPixelData(byteArray, 1, CubemapFace.NegativeX, 12);
        cubemap.SetPixelData(byteArray, 0, CubemapFace.PositiveY);
        cubemap.SetPixelData(byteArray, 1, CubemapFace.PositiveY,  12);
        cubemap.SetPixelData(byteArray, 0, CubemapFace.NegativeY, 15);
        cubemap.SetPixelData(byteArray, 1, CubemapFace.NegativeY, 12);
        cubemap.SetPixelData(byteArray, 0, CubemapFace.PositiveZ);
        cubemap.SetPixelData(byteArray, 1, CubemapFace.PositiveZ,  12);
        cubemap.SetPixelData(byteArray, 0, CubemapFace.NegativeZ, 15);
        cubemap.SetPixelData(byteArray, 1, CubemapFace.NegativeZ, 12);
        cubemap.Apply(updateMipmaps: false);
    }
}


