Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

Объявление

public void SetPixelData(T[] data, int mipLevel, int sourceDataStartIndex = 0);

public void SetPixelData(NativeArray data, int mipLevel, int sourceDataStartIndex = 0);

Параметры

data Массив данных для инициализации пикселей текстуры.
mipLevel Мип уровень для заполнения.
sourceDataStartIndex Индекс в исходном массиве, с которого начинается копирование (по умолчанию 0).

Описание

Установите значения пикселей из необработанных предварительно отформатированных данных.

Эта функция заполняет пиксельную память текстуры одного уровня MIP необработанными данными. Это полезно, если вы хотите загрузить в текстуру сжатые или другие данные формата текстуры, не относящиеся к цвету.

Вы должны сделать передаваемые данные требуемого размера, чтобы заполнить весь mip-уровень текстуры в соответствии с ее шириной, высотой, глубиной и форматом данных. В противном случае Unity выдает исключение.

Обратите внимание, что не все платформы поддерживают сжатые данные 3D-текстур, поэтому, если вы используете сжатые форматы, обратитесь к SystemInfo.supportsCompressed3DTextures.

Вызовите Применить после установки данных изображения, чтобы фактически загрузить их в графический процессор.

SetPixelData создает исключение в случае сбоя.

Смотрите так же: SetPixels, GetPixelData, Apply, SystemInfo.supportsCompressed3DTextures.

using UnityEngine; public class ExampleScript : MonoBehaviour { public Texture3D texture; public void Start() { texture = new Texture3D(2, 2, 2, TextureFormat.RGB24, true); var data = new byte[] { 255, 0, 0, // red 0, 255, 0, // green 0, 0, 255, // blue 255, 235, 4, // yellow 128, 0, 0, // dark red 0, 128, 0, // dark green 0, 0, 128, // dark blue 128, 117, 4, // dark yellow }; texture.SetPixelData(data, 0); texture.filterMode = FilterMode.Point; texture.Apply(updateMipmaps: false); } }
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3