Объявление
public Color[] GetPixels(int miplevel);public Color[] GetPixels();
Параметры
miplevel | MIP-уровень, с которого считываются пиксельные данные. По умолчанию используется 0 . |
Возвращает
Color[] Массив, содержащий копию запрошенных цветов пикселей, представленных структурами Color.
Описание
Получает копию данных о цвете пикселя для заданного уровня MIP. Цвета представлены структурами Color.
Один вызов этой функции обычно быстрее, чем несколько вызовов GetPixel, особенно для больших текстур. Если приемлемо представление с более низкой точностью, GetPixels32 работает быстрее и использует меньше памяти, поскольку не выполняет преобразование целых чисел в числа с плавающей запятой. Для прямого просмотра данных пикселей используйте GetPixelData.
Для успешного выполнения этой функции Texture.isReadable должно быть true
, а данные не должны быть сжаты Crunch. GetPixels32 поддерживает текстуры, сжатые Crunch.
Возвращенный массив представляет собой сглаженный двумерный массив, в котором данные отображаются построчно: пиксели располагаются слева направо и снизу вверх. Размеры массива составляют width * height
мип-уровня. Если эта функция не работает, Unity выдает исключение.
using UnityEngine;
public class Texture3DExample : MonoBehaviour
{
public Texture3D source;
public Texture3D destination;
void Start()
{
// Получить копию данных о цвете из источника Texture3D в высокоточном формате с плавающей запятой.
// Каждый элемент массива представляет данные о цвете отдельного пикселя.
int sourceMipLevel = 0;
Color[] pixels = source.GetPixels(sourceMipLevel);
// При необходимости манипулируйте пикселями, прежде чем применять их к целевой текстуре.
// Этот пример кода переворачивает массив, который поворачивает изображение на 180 градусов.
System.Array.Reverse(pixels, 0, pixels.Length);
// Задаем пиксели целевого объекта Texture3D.
int destinationMipLevel = 0;
destination.SetPixels(pixels, destinationMipLevel);
// Применить изменения к целевому объекту Texture3D, который загружает свои данные в графический процессор.
destination.Apply();
}
}
Смотрите так же: SetPixel, SetPixels, SetPixels32, GetPixel, GetPixelBilinear, GetPixels32, GetPixelData, Apply functions.