reckfellENGINE

CollisionPolygon2D

Узел, который придает многоугольную форму родительскому объекту CollisionObject2D.

На этой странице
class CollisionPolygon2DReckfellSharpНаследует Entity2D

Узел, который придает многоугольную форму родительскому объекту CollisionObject2D.

Узел, который задает форму многоугольника для родительского объекта CollisionObject2D и позволяет его редактировать. Многоугольник может быть вогнутым или выпуклым. Это может придать форму обнаружения объекту Area2D, превратить объект PhysicsBody2D в твердый объект или придать объекту StaticBody2D форму полого объекта. Предупреждение: Объект CollisionPolygon2D с неравномерным масштабированием, скорее всего, будет вести себя не так, как ожидается. Убедитесь, что его масштаб одинаков по всем осям, и вместо этого отрегулируйте его многоугольник.

Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.

Конструкторы1

CollisionPolygon2DКонструктор
# CollisionPolygon2D
C#
public CollisionPolygon2D();

Свойства6

BuildModeСвойство
# BuildMode
C#
public CollisionPolygon2D.BuildModeEnum BuildMode { get; set; }

Режим построения столкновений.

DisabledСвойство
# Disabled
C#
public bool Disabled { get; set; }

Если true, столкновения не будут обнаружены. Это свойство следует изменить с помощью ReckfellObject.SetDeferred.

OneWayCollisionСвойство
# OneWayCollision
C#
public bool OneWayCollision { get; set; }

Если true, то с другими объектами будут сталкиваться только ребра, обращенные вверх относительно вращения CollisionPolygon2D. Примечание: Это свойство не действует, если этот CollisionPolygon2D является дочерним узлом узла Area2D. Примечание: Направление одностороннего столкновения можно настроить, установив CollisionPolygon2D.OneWayCollisionDirection.

OneWayCollisionDirectionСвойство
# OneWayCollisionDirection
C#
public Vector2 OneWayCollisionDirection { get; set; }

Направление, используемое при одностороннем столкновении.

OneWayCollisionMarginСвойство
# OneWayCollisionMargin
C#
public float OneWayCollisionMargin { get; set; }

Поле, используемое для одностороннего столкновения (в пикселях). Более высокие значения сделают форму толще и будут лучше работать для коллайдеров, которые входят в полигон на высокой скорости.

Многоугольник

PolygonСвойство
# Polygon
C#
public Vector2[] Polygon { get; set; }

Список вершин полигона. Каждая точка будет соединена со следующей, а последняя точка будет соединена с первой. Примечание: Возвращаемые вершины находятся в локальном координатном пространстве заданного CollisionPolygon2D.

Методы13

GetBuildModeCollisionPolygon2D.BuildModeEnum
# GetBuildMode
C#
public CollisionPolygon2D.BuildModeEnum GetBuildMode();
Возвращает CollisionPolygon2D.BuildModeEnum
GetOneWayCollisionDirectionVector2
# GetOneWayCollisionDirection
C#
public Vector2 GetOneWayCollisionDirection();
Возвращает Vector2
GetOneWayCollisionMarginfloat
# GetOneWayCollisionMargin
C#
public float GetOneWayCollisionMargin();
Возвращает float
GetPolygonVector2[]
# GetPolygon
C#
public Vector2[] GetPolygon();
Возвращает Vector2[]
IsDisabledbool
# IsDisabled
C#
public bool IsDisabled();
Возвращает bool
IsOneWayCollisionEnabledbool
# IsOneWayCollisionEnabled
C#
public bool IsOneWayCollisionEnabled();
Возвращает bool
SetBuildModevoid
# SetBuildMode
C#
public void SetBuildMode(CollisionPolygon2D.BuildModeEnum buildMode);
Параметры
ИмяТипПо умолчанию
buildModeCollisionPolygon2D.BuildModeEnum—
SetDisabledvoid
# SetDisabled
C#
public void SetDisabled(bool disabled);
Параметры
ИмяТипПо умолчанию
disabledbool—
SetOneWayCollisionvoid
# SetOneWayCollision
C#
public void SetOneWayCollision(bool enabled);
Параметры
ИмяТипПо умолчанию
enabledbool—
SetOneWayCollisionDirectionvoid
# SetOneWayCollisionDirection
C#
public void SetOneWayCollisionDirection(Vector2 direction);
Параметры
ИмяТипПо умолчанию
directionVector2—
SetOneWayCollisionMarginvoid
# SetOneWayCollisionMargin
C#
public void SetOneWayCollisionMargin(float margin);
Параметры
ИмяТипПо умолчанию
marginfloat—
SetPolygon2 перегрузки
# SetPolygon · 1/2
C#
public void SetPolygon(Vector2[] polygon);
Параметры
ИмяТипПо умолчанию
polygonVector2[]—
# SetPolygon · 2/2
C#
public void SetPolygon(ReadOnlySpan<Vector2> polygon);
Параметры
ИмяТипПо умолчанию
polygonReadOnlySpan<Vector2>—

CollisionPolygon2D.BuildModeEnum

ЗначениеОписание
Segments = 1

Столкновения будут включать только края полигона. В этом режиме узел имеет тот же эффект, что и один ConcavePolygonShape2D, состоящий из сегментов, с ограничением, что каждый сегмент (после первого) начинается там, где заканчивается предыдущий, а последний заканчивается там, где начинается первый (образуя замкнутый, но полый полигон).

Solids = 0

Столкновения будут включать полигон и его содержащуюся область. В этом режиме узел имеет тот же эффект, что и несколько узлов ConvexPolygonShape2D, по одному для каждой выпуклой формы в выпуклом разложении полигона (но без накладных расходов нескольких узлов).

Документация Reckfell EngineНаверх ↑
БЫСТРЫЙ ПЕРЕХОДНачало работыEntity и иерархияC# & .NET 10Сцены и префабы
Руководства и полный API Reckfell K
reckfellENGINE
RECKFELL ACCOUNT

Вход в аккаунт

Войдите в аккаунт Reckfell.

Один аккаунт для всей платформы Reckfell.