PrimitiveMesh

Успадковує: Mesh < Resource < RefCounted < Object

Успадковано від: BoxMesh, CapsuleMesh, CylinderMesh, PlaneMesh, PointMesh, PrismMesh, RibbonTrailMesh, SphereMesh, TextMesh, TorusMesh, TubeTrailMesh

Базовий клас для всіх примітивних сіточок. Руки застосувати Material до примітивної сітки.

Опис

Базовий клас для всіх примітивних сіточок. Руки застосувати Material до примітивної сітки. Приклади включають BoxMesh, CapsuleMesh, CylinderMesh, PlaneMesh, PrismMesh, і SphereMesh.

Властивості

bool

add_uv2

false

AABB

custom_aabb

AABB(0, 0, 0, 0, 0, 0)

bool

flip_faces

false

Material

material

float

uv2_padding

2.0

Методи

Array

_create_mesh_array() virtual const

Array

get_mesh_arrays() const

void

request_update()


Описи властивостей

bool add_uv2 = false 🔗

  • void set_add_uv2(value: bool)

  • bool get_add_uv2()

Якщо встановити, генерує УФ2 УФ-координати, застосовуючи настройку за допомогою параметра uv2_padding. УФ2 необхідний для освітлення.


AABB custom_aabb = AABB(0, 0, 0, 0, 0, 0) 🔗

  • void set_custom_aabb(value: AABB)

  • AABB get_custom_aabb()

Замінює AABB на один, визначений користувачем для використання з вибракуванням усеченої точки. Особливо корисно, щоб уникнути несподіваного відсікання під час використання шейдера для зміщення вершин.


bool flip_faces = false 🔗

  • void set_flip_faces(value: bool)

  • bool get_flip_faces()

Якщо true, порядок вершин у кожному трикутнику змінюється на протилежний, в результаті чого малюється зворотна сторона сітки.

Це дає той самий результат, що й використання BaseMaterial3D.CULL_FRONT у BaseMaterial3D.cull_mode.


Material material 🔗

Поточний Material примітивної сітки.


float uv2_padding = 2.0 🔗

  • void set_uv2_padding(value: float)

  • float get_uv2_padding()

Якщо 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())

void request_update() 🔗

Запитайте оновлення цієї примітивної сітки на основі її властивостей.