Объявление
public void SetUVs(int channel, Vector2[] uvs);public void SetUVs(int channel, Vector3[] uvs);
public void SetUVs(int channel, Vector4[] uvs);
public void SetUVs(int channel, List
public void SetUVs(int channel, List
public void SetUVs(int channel, List
public void SetUVs(int channel, NativeArray
Параметры
channel | Канал в диапазоне [0..7]. |
uvs | Данные UV для установки. |
Описание
Задает координаты текстуры (UV), хранящиеся в заданном канале.
Задает UV как список из Vector2, Vector3 или Vector4. Двумерные данные (Vector2) являются наиболее распространенным вариантом использования, но трех- или четырехмерные данные иногда используются для специальных эффектов шейдера.
Unity хранит UV в интервале 0-1. [0,0] представляет нижний левый угол текстуры, а [1,1] представляет верхний правый угол. Значения не зажимаются; при необходимости вы можете использовать значения ниже 0 и выше 1.
Значение channel
, равное 0, соответствует каналу, который обычно называется "UV0", и сопоставляется с семантикой шейдера `TEXCOORD0`. Значение channel
, равное 1, возвращает канал, который обычно называется "UV1", и сопоставляется с семантикой шейдера `TEXCOORD1`. Это продолжается до значения 7 channel
включительно.
По умолчанию Unity использует первый канал (UV0) для хранения UV для обычных текстур, таких как диффузные карты и карты бликов. Unity может использовать второй канал (UV1) для хранения запеченных UV-карт освещения, а третий канал (UV2) — для хранения входных данных для UV-карт в реальном времени. Дополнительную информацию о UV-картах освещения и о том, как Unity использует эти каналы, см. в разделе UV-карты освещения.
Примечание. Вы также можете получить доступ к данным UV, используя uv для UV0, uv2 для UV1, uv3 для UV2 и так далее до uv8. Однако этот старый способ работы не рекомендуется; эти свойства менее удобны для пользователя, чем эта функция и GetUVs, и они также вызывают выделение кучи.
Смотрите так же: GetUVs.
Объявление
public void SetUVs(int channel, Vector2[] uvs, int start, int length, Rendering.MeshUpdateFlags flags = MeshUpdateFlags.Default);public void SetUVs(int channel, Vector3[] uvs, int start, int length, Rendering.MeshUpdateFlags flags = MeshUpdateFlags.Default);
public void SetUVs(int channel, Vector4[] uvs, int start, int length, Rendering.MeshUpdateFlags flags = MeshUpdateFlags.Default);
public void SetUVs(int channel, List
public void SetUVs(int channel, List
public void SetUVs(int channel, List
public void SetUVs(int channel, NativeArray
Параметры
channel | Канал UV в диапазоне [0..7]. |
uvs | UV для заданного индекса. |
start | Индекс первого элемента, который нужно взять из входного массива. |
length | Количество элементов, которые нужно взять из входного массива. |
flags | Флаги, управляющие поведением функции, см. MeshUpdateFlags. |
Описание
Устанавливает UV сетки, используя часть входного массива.
Этот метод ведет себя так, как если бы вы вызвали SetUVs с массивом, представляющим собой фрагмент всего массива, начиная с индекса start
и имеющего заданный длина
. Полученная сетка имеет length
количество вершин.