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

Использование класса Mesh

MeshОсновной графический примитив Unity. Меши составляют большую часть ваших 3D-миров. Unity поддерживает триангулированные или четырехугольные полигональные сетки. Поверхности Nurbs, Nurms, Subdiv должны быть преобразованы в полигоны. Подробнее
См. в Словарь
— это базовый скриптовый интерфейс для геометрии сетки объекта. Он использует массивы для представления треугольников, позиций вершин, нормалей и текстурных координат, а также предоставляет ряд других полезных свойств и функций для помощи в создании сетки.

Доступ к сетке объекта

Данные сетки прикрепляются к объекту с помощью фильтра сетки Компонент сетки, который берет сетку из ваших ресурсов и передает ее средству визуализации сетки для рендеринга на экране. Подробнее
См. в компоненте Словарь
(для объекта также потребуется MeshRenderer, чтобы сделать геометрию видимой). Доступ к этому компоненту осуществляется с помощью знакомой функции GetComponent:

using UnityEngine; public class ExampleScript : MonoBehaviour { MeshFilter mf; void Start() { //if this gameObject has a MeshFilter, mf will reference the component mf = GetComponent(); } }

Добавление данных сетки

Объект Mesh имеет свойства для вершин и связанных с ними данных (нормали и координаты UV), а также для данных треугольников. Вершины могут быть представлены в любом порядке, но массивы нормалей и UV должны быть упорядочены так, чтобы все индексы соответствовали вершинам (т. е. элемент 0 массива нормалей задает нормаль для вершины 0 и т. д.). Вершины — это Vector3, представляющие точки в локальном пространстве объекта. Нормали — это нормализованные Vector3, представляющие направления, опять же в локальных координатах. UV указаны как Vector2, но поскольку тип Vector2 не имеет полей с именами U и V, вы должны мысленно преобразовать их в X и Y соответственно.

Треугольники задаются как тройки целых чисел, которые действуют как индексы в массиве вершин. Вместо того, чтобы использовать специальный класс для представления треугольника, массив представляет собой просто список целочисленных индексов. Они берутся группами по три для каждого треугольника, поэтому первые три элемента определяют первый треугольник, следующие три определяют второй треугольник и так далее. Важной деталью треугольников является порядок угловых вершин. Они должны располагаться так, чтобы углы заходили по часовой стрелке, если смотреть вниз на видимую внешнюю поверхность треугольника, хотя не имеет значения, с какого угла вы начинаете.

Расширенный API сетки

Класс Mesh также имеет расширенный API более низкого уровня. это позволяет вам работать с необработанными данными вершин сетки и буфера индексов. Это полезно в ситуациях, когда требуется максимальная производительность или минимальное выделение памяти.

См. также

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