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

Mesh.GetUVs

Declaration

public void GetUVs(int channel, List<Vector2> uvs);
public void GetUVs(int channel, List<Vector3> uvs);
public void GetUVs(int channel, List<Vector4> uvs);

Параметры

Параметр Описание
канал Канал UV, в диапазоне [0..7].
УВС Список для заполнения UVs.

Описание

Получает координаты текстуры (UVs), хранящиеся в заданном канале.

Получает UVs как список либо Vector2, Vector3, или Vector4. 2-мерные (Vector2) данные являются наиболее распространенным вариантом использования, но 3- или 4-мерные данные иногда используются для специальных шейдерных эффектов.

Unity хранит UVs в пространстве 0-1. [0,0] представляет левый нижний угол текстуры, а [1,1] — правый верхний. Значения не зажимаются; при необходимости можно использовать значения ниже 0 и выше 1.

A channel значение 0 соответствует каналу, который обычно называется "UV0", и отображается на семантическом шейдере `TEXCOORD0`. channel значение 1 возвращает канал, который обычно называется "UV1", и отображается на семантическом шейдере `TEXCOORD1`. Это продолжается до и включая channel значение 7.

По умолчанию, Unity использует первый канал (UV0) для хранения UVs для регулярных текстур, таких как диффузные карты и зеркальные карты. Unity может использовать второй канал (UV1) для хранения печеного lightmap UVs, а третий канал (UV2) для хранения входных данных для lightmap реального времени UVs. Для получения дополнительной информации о lightmap UVs и о том, как Unity использует эти каналы, см. Лайтмап UVs.

Примечание: Вы также можете получить доступ к данным UV, используя uv для UV0, uv2 для UV1, uv3 для UV2, и так далее до uv8. Однако этот старый способ работы не рекомендуется; свойства менее удобны для пользователя, чем эта функция и SetUVs, и они также вызывают выделение кучи.

Дополнительные ресурсы: uv, SetUVs, AcquireReadOnlyMeshData.