Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты
public Vector2[] uv2;

Описание

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

Этот канал также обычно называют "UV1". Он сопоставляется с семантикой шейдера `TEXCOORD1`. Когда вы вызываете Mesh.HasVertexAttribute, этот канал соответствует VertexAttribute.TexCoord1.

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

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

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

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

// Генерируем плоские UV-координаты для второго UV-набора 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.uv2 = uvs; } }

Смотрите так же: GetUVs, SetUVs, AcquireReadOnlyMeshData.

Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3