Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
PrimitiveMesh
Наследует: Mesh < Resource < RefCounted < Object
Наследуется от: BoxMesh, CapsuleMesh, CylinderMesh, PlaneMesh, PointMesh, PrismMesh, RibbonTrailMesh, SphereMesh, TextMesh, TorusMesh, TubeTrailMesh
Базовый класс для всех примитивных сеток. Обрабатывает и применяет Material к примитивной сетке.
Описание
Базовый класс для всех примитивных сеток. Обрабатывает и применяет Material к примитивной сетке. Примеры включают BoxMesh, CapsuleMesh, CylinderMesh, PlaneMesh, PrismMesh и SphereMesh.
Свойства
|
||
|
||
|
||
|
Методы
_create_mesh_array() virtual const |
|
get_mesh_arrays() const |
|
void |
Описания свойств
Если установлено, генерирует UV2 UV-координаты, применяя заполнение с помощью настройки uv2_padding. UV2 необходим для светового отображения.
AABB custom_aabb = AABB(0, 0, 0, 0, 0, 0) 🔗
Переопределяет AABB на определенный пользователем для использования с отсечением по усеченной пирамиде. Особенно полезно для избежания неожиданного отсечения при использовании шейдера для смещения вершин.
Если true, порядок вершин в каждом треугольнике меняется на обратный, в результате чего рисуется задняя сторона сетки.
Это дает тот же результат, что и использование BaseMaterial3D.CULL_FRONT в BaseMaterial3D.cull_mode.
Текущий Material примитивной сетки.
Если задан add_uv2, задает отступ в пикселях, применяемый вдоль швов сетки. Более низкие значения отступа позволяют лучше использовать текстуру карты освещения (что приводит к более высокой плотности текселей), но могут привести к видимому кровотечению карты освещения вдоль краев.
Если размер текстуры карты освещения не может быть определен при генерации сетки, UV2 рассчитывается с учетом размера текстуры 1024x1024.
Описания метода
Array _create_mesh_array() virtual const 🔗
Переопределите этот метод, чтобы настроить, как должна генерироваться эта примитивная сетка. Должен возвращать Array, где каждый элемент — это другой массив значений, требуемых для сетки (см. константы ArrayType).
Array get_mesh_arrays() const 🔗
Возвращает массивы сеток, используемые для создания поверхности этой примитивной сетки.
Пример: Передайте результат в ArrayMesh.add_surface_from_arrays(), чтобы создать новую поверхность:
var c = CylinderMesh.new()
var arr_mesh = ArrayMesh.new()
arr_mesh.add_surface_from_arrays(Mesh.PRIMITIVE_TRIANGLES, c.get_mesh_arrays())
var c = new CylinderMesh();
var arrMesh = new ArrayMesh();
arrMesh.AddSurfaceFromArrays(Mesh.PrimitiveType.Triangles, c.GetMeshArrays());
void request_update() 🔗
Запросите обновление этой примитивной сетки на основе ее свойств.