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

Mesh.uv3

Declaration

public Vector2[] uv3;

Описание

Координаты текстуры (UVs) в третьем канале.

Этот канал также обычно называется "UV2". Он отображается на семантическое пространство шейдера `TEXCOORD2`. При вызове Mesh.HasVertexAttribute, этот канал соответствует VertexAttribute.TexCoord2.

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

**Примечание:** Когда Unity отображает MeshRenderer, который ссылается на эту сетку и использует глобальное освещение в реальном времени, Unity передаёт данные в MeshRenderer.enlightenVertexStream в `TEXCOORD2` вместо данных в этом канале. Дополнительную информацию см. в Лайтмап UVs.

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

Это свойство поддерживается для обратной совместимости, но более новые функции GetUVs и SetUVs позволяют получить доступ к тем же данным более удобным для пользователя способом и использовать значение Vector3 или Vector4, если это необходимо.

Это свойство возвращает копию данных. Это означает, что оно вызывает выделение памяти кучи. Это также означает, что для внесения изменений в исходные данные необходимо обновить копию, а затем переназначить обновленную копию на сетку.

В следующем примере показано, как создать массив для хранения данных UV, назначить ему координаты текстуры и затем назначить его на сетку.

// Generate planar uv coordinates for the third uv set

using UnityEngine;

public class ExampleClass : MonoBehaviour { void Start() { Mesh mesh = GetComponent<MeshFilter>().mesh; Vector3[] vertices = mesh.vertices; Vector2[] uvs = new Vector2[vertices.Length];

for (int i = 0; i < uvs.Length; i++) { uvs[i] = new Vector2(vertices[i].x, vertices[i].z); } mesh.uv3 = uvs; } }

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