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.

ConcavePolygonShape3D

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

Форма 3D обрізки використовується для фізичного зіткнення.

Опис

Тривимірна тримеш-фігура, призначена для використання у фізиці. Зазвичай використовується як форма для CollisionShape3D.

Будучи просто набором з'єднаних між собою трикутників, ConcavePolygonShape3D є найбільш вільно конфігурованою одиночною 3D-фігурою. Її можна використовувати для формування багатогранників будь-якої природи, або навіть фігур, що не містять об'єму. Однак, ConcavePolygonShape3D є порожнистою, навіть якщо з'єднані між собою трикутники утворюють об'єм, що часто робить її непридатною для фізики або виявлення.

Примітка: При використанні для зіткнення ConcavePolygonShape3D призначено для роботи зі статичними вузлами CollisionShape3D, такими як StaticBody3D, і, ймовірно, він не працюватиме належним чином для CharacterBody3D або RigidBody3D у режимі, відмінному від Static.

Попередження: Фізичні тіла, які мають малий розмір, можуть прорізати цю форму під час швидкого руху. Це відбувається тому, що на одному кадрі фізичне тіло може бути "ззовні" фігури, а на наступному кадрі воно може бути "всередині" фігури. Фігура ConcavePolygonShape3D є порожнистою, тому вона не виявляє зіткнення.

Продуктивність: Через свою складність ConcavePolygonShape3D є найповільнішою 3D-фігурою для перевірки зіткнень. Її використання, як правило, слід обмежувати геометрією рівнів. Для опуклої геометрії слід використовувати ConvexPolygonShape3D. Для тіл динамічної фізики, які потребують увігнутих зіткнень, можна використати декілька ConvexPolygonShape3D для представлення зіткнення за допомогою опуклої декомпозиції; див. документацію до ConvexPolygonShape3D для отримання інструкцій.

Посібники

Властивості

bool

backface_collision

false

Методи

PackedVector3Array

get_faces() const

void

set_faces(faces: PackedVector3Array)


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

bool backface_collision = false 🔗

  • void set_backface_collision_enabled(value: bool)

  • bool is_backface_collision_enabled()

Якщо встановити до true, зіткнення відбуваються з обох сторін стиглої форми обличчя. В іншому випадку вони відбуваються тільки по нормам обличчя.


Описи методів

PackedVector3Array get_faces() const 🔗

Повертає обличчя обрізки форми як масив вершин. масив (від довжини дівидимі по три) природним чином розділений на потрій; кожен потрій вершин визначає трикутник.


void set_faces(faces: PackedVector3Array) 🔗

Налаштовує обличчя обрізки форми з масиву вершин. faces масив повинен бути складається з потрій, таких що кожен потрій вершин визначає трикутник.