Unity 6.3
0 онлайн 1 гость 3 в системе
Вход

CubemapArray.CopyPixels

Declaration

public void CopyPixels(Texture src);
public void CopyPixels(Texture src, int srcElement, int srcMip, int dstElement, int dstMip);
public void CopyPixels(Texture src, int srcElement, int srcMip, int srcX, int srcY, int srcWidth, int srcHeight, int dstElement, int dstMip, int dstX, int dstY);

Параметры

Параметр Описание
сердце Исходная текстура.
srcElement Элемент в исходной текстуре, из которого будет копироваться текстура. Например, CubemapFace в кубическом отображении или слой в массиве текстур. Установите значение 0, если src является текстурой 2D.
srcMip Уровень mipmap для копирования. Диапазон 0 через текстуру источника Texture.mipmapCount. Значение по умолчанию 0.
dstElement Элемент в этом CubemapArray для копирования. Диапазон 0 до 6 * cubemapCount.
dstMip Уровень mipmap для записи. Диапазон 0 через текстуру Texture.mipmapCount. Значение по умолчанию 0.
srcX Начальная координата x src для копирования. 0 находится слева от текстуры.
srcY Начальная координата y src для копирования. 0 — нижняя часть текстуры.
srcWidth Ширина src для копирования.
srcHeight Высота src для копирования.
dstX Координаты x текстуры для копирования.
dstY Координаты y текстуры для копирования.

Описание

Копирует пиксельные данные из другой текстуры на CPU.

Этот метод копирует данные пикселей из исходной текстуры в эту текстуру на CPU. Texture.isReadable должно быть true как для текстуры, так и для src, и вы должны вызвать Apply после CopyPixels, чтобы загрузить измененные пиксели в GPU.

Apply является дорогостоящей операцией, потому что она копирует все пиксели в текстуре, даже если вы изменили только некоторые пиксели, так что измените как можно больше пикселей до вызова. Если вам нужно скопировать только пиксели на GPU, Graphics.CopyTexture с параметрами GraphicsTexture, то вместо этого быстрее использовать

Для использования CopyPixels, размер копируемой текстуры должен быть одинаковым в обеих текстурах. Используйте перегрузку на основе региона, чтобы указать меньший регион, чем полный уровень mipmap.

Сжатые форматы текстуры Crunch не поддерживаются в перегрузке на основе элементов. Сжатые форматы текстуры не поддерживаются вообще для перегрузки на основе регионов. Unity возвращает UnityException, если текстура нечитаема, и возвращает ArgumentException, если CopyPixels не работает.

Дополнительные ресурсы: Apply, Graphics.CopyTexture, SetPixels.