ConcavePolygonShape3D
Трехмерная сетка, используемая для физики столкновений.
Трехмерная сетка, используемая для физики столкновений.
Трехмерная форма, предназначенная для использования в физике. Обычно используется для получения формы. CollisionShape3D.
Будучи просто коллекцией взаимосвязанных треугольников, ConcavePolygonShape3D - наиболее легкодоступная трехмерная форма. Она может быть использована для формирования полигедры любой природы или даже формы, которые не закрывают объем. Однако, ConcavePolygonShape3D * Hollow* даже если взаимосвязанные треугольники поглощают объем, что часто делает его непригодным для физики или обнаружения.
Примечание: Если используется для столкновения, ConcavePolygonShape3D предназначен для работы со статичными CollisionShape3D такие узлы StaticBody3D и, скорее всего, не будет вести себя хорошо CharacterBody3DS или RigidBody3Ds в режиме, отличном от Static.
Предупреждение: Физические тела, малые, имеют шанс пройти через эту форму при быстром движении. Это происходит потому, что на одной кадре тело физики может быть на "внешнем" контуре формы, а на следующей кадре она может быть "внутренним". ConcavePolygonShape3D Пустота, так что она не заметит столкновения.
Performance: Из-за его сложности, ConcavePolygonShape3D - самая медленная трехмерная форма столкновения для проверки на столкновение. Обычно ее использование должно ограничиваться геометрией уровня. ConvexPolygonShape3D Для динамических физических тел, которые нуждаются в сотрясении, несколько ConvexPolygonShape3Ds может использоваться для отражения столкновения путем выпуклого разложения; см. ConvexPolygonShape3D- документы для инструкций.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
ConcavePolygonShape3DКонструктор
public ConcavePolygonShape3D();Свойства2
BackfaceCollisionСвойство
public bool BackfaceCollision { get; set; }Если установлено значение true, столкновения происходят по обе стороны граней вогнутой формы. В противном случае они происходят только вдоль нормалей граней.
DataСвойство
public Vector3[] Data { get; set; }Методы5
GetFacesVector3[]
public Vector3[] GetFaces();Возвращает грани формы тримеша как массив вершин. Массив (длины, делящейся на три) естественным образом делится на тройки; каждая тройка вершин определяет треугольник.
Vector3[]IsBackfaceCollisionEnabledbool
public bool IsBackfaceCollisionEnabled();boolSetBackfaceCollisionEnabledvoid
public void SetBackfaceCollisionEnabled(bool enabled);| Имя | Тип | По умолчанию |
|---|---|---|
enabled | bool | — |
SetFaces2 перегрузки
public void SetFaces(Vector3[] faces);Устанавливает грани формы тримеша (trimesh) из массива вершин. Массив faces должен состоять из троек таким образом, чтобы каждая тройка вершин определяла треугольник.
| Имя | Тип | По умолчанию |
|---|---|---|
faces | Vector3[] | — |
public void SetFaces(ReadOnlySpan<Vector3> faces);Устанавливает грани формы тримеша (trimesh) из массива вершин. Массив faces должен состоять из троек таким образом, чтобы каждая тройка вершин определяла треугольник.
| Имя | Тип | По умолчанию |
|---|---|---|
faces | ReadOnlySpan<Vector3> | — |