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

Texture3D.SetPixel

Declaration

public void SetPixel(int x, int y, int z, Color color, int mipLevel = 0);

Параметры

Параметр Описание
x Координаты x пикселя, который нужно установить. Диапазон 0 через (ширина текстуры — 1).
y Координаты y пикселя для установки. Диапазон 0 через (высота текстуры — 1).
z Координаты z пикселя для установки. Диапазон 0 через (глубина текстуры — 1).
цвет Цвет для установки.
mipLevel Уровень mipmap для записи. Диапазон 0 через текстуру Texture.mipmapCount. Значение по умолчанию 0.

Описание

Задает цвет пикселей в координатах (x, y, z).

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

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

SetPixel может быть медленнее, чем некоторые другие методы текстуры, потому что он преобразует Color структуру в формат, используемый текстурой. Чтобы задать данные пикселей быстрее, используйте SetPixelData вместо этого.

Если координата пикселя находится за пределами размеров текстуры, Unity зажимает или повторяет ее, в зависимости от размеров текстуры. TextureWrapMode.

Если вам нужно получить большой блок пикселей, это может быть быстрее использовать SetPixels32.

Вы можете использовать SetPixel со следующим текстом: текстурные форматы:

  • Alpha8
  • ARGB32
  • ARGB4444
  • BGRA32
  • R16
  • R16_SIGNED
  • R8
  • R8_SIGNED
  • RFloat
  • RG16
  • RG16_SIGNED
  • RG32
  • RG32_SIGNED
  • RGB24
  • RGB24_SIGNED
  • RGB48
  • RGB48_SIGNED
  • RGB565
  • RGB9e5Float
  • RGBA32
  • RGBA32_SIGNED
  • RGBA4444
  • RGBA64
  • RGBA64_SIGNED
  • RGBAFloat
  • RGBAHalf
  • RGFloat
  • RGHalf
  • RHalf

Для всех других форматов, Unity игнорирует SetPixel.

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