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 |
Описи властивостей
Якщо встановити, генерує УФ2 УФ-координати, застосовуючи настройку за допомогою параметра uv2_padding. УФ2 необхідний для освітлення.
AABB custom_aabb = AABB(0, 0, 0, 0, 0, 0) 🔗
Замінює AABB на один, визначений користувачем для використання з вибракуванням усеченої точки. Особливо корисно, щоб уникнути несподіваного відсікання під час використання шейдера для зміщення вершин.
Якщо true, порядок вершин у кожному трикутнику змінюється на протилежний, в результаті чого малюється зворотна сторона сітки.
Це дає той самий результат, що й використання BaseMaterial3D.CULL_FRONT у BaseMaterial3D.cull_mode.
Поточний Material примітивної сітки.
Якщо add_uv2 встановлюється, виділяє накидку в пікселях, нанесених по швах сітки. Низькі значення наповнювача дозволяють краще використовувати текстуру Lightmap (регуляція в більшій щільності текселя), але може вводити видимі кровотечі Lightmap по краях.
Якщо розмір текстури маляра не можна визначити при генеруванні сітки, УФ2 розраховується, що припустимо текстуру розміром 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 = новий ArrayMesh();
arrMesh.AddSurfaceFromArrays(Mesh.PrimitiveType.Triangles, c.GetMeshArrays());
void request_update() 🔗
Запитайте оновлення цієї примітивної сітки на основі її властивостей.