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.