Mesh.uv8
Declaration
public Vector2[] uv8;Описание
Координаты текстуры (UVs) в восьмом канале.
Этот канал также обычно называется "UV7". Он отображается на семантическом канале шейдера `TEXCOORD7`. При вызове Mesh.HasVertexAttribute, этот канал соответствует VertexAttribute.TexCoord7.
Unity хранит UVs в пространстве 0-1. [0,0] представляет нижний левый угол текстуры, а [1,1] представляет верхний правый. Значения не зажимаются; при необходимости можно использовать значения ниже 0 и выше 1.
Это свойство поддерживается для обратной совместимости, но более новые функции GetUVs и SetUVs позволяют получить доступ к тем же данным более удобным для пользователя способом, и использовать значение Vector3 или Vector4, если это необходимо.
Это свойство возвращает копию данных. Это означает, что оно вызывает выделение памяти кучи. Это также означает, что для внесения изменений в исходные данные, вы должны обновить копию и затем переназначить обновленную копию на сетку.
В следующем примере показано, как создать массив для хранения данных UV, назначить ему координаты текстуры, а затем назначить его сетке.
// Generate planar uv coordinates for the eighth 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.uv8 = uvs; } }
Дополнительные ресурсы: ,GetUVs,, ,SetUVs,, ,AcquireReadOnlyMeshData,.