reckfellENGINE

CollisionPolygon2D

A node that provides a polygon shape to a CollisionObject2D parent.

On this page
class CollisionPolygon2DReckfellSharpInherits Entity2D

A node that provides a polygon shape to a CollisionObject2D parent.

A node that provides a polygon shape to a CollisionObject2D parent and allows it to be edited. The polygon can be concave or convex. This can give a detection shape to an Area2D, turn a PhysicsBody2D into a solid object, or give a hollow shape to a StaticBody2D. Warning: A non-uniformly scaled CollisionPolygon2D will likely not behave as expected. Make sure to keep its scale the same on all axes and adjust its polygon instead.

Declarations checked against C# SDK 1.0.0. Expand a name to see declarations and documentation.

Constructors1

CollisionPolygon2DConstructor
# CollisionPolygon2D
C#
public CollisionPolygon2D();

Properties6

BuildModeProperty
# BuildMode
C#
public CollisionPolygon2D.BuildModeEnum BuildMode { get; set; }

Collision build mode.

DisabledProperty
# Disabled
C#
public bool Disabled { get; set; }

If true, no collisions will be detected. This property should be changed with ReckfellObject.SetDeferred.

OneWayCollisionProperty
# OneWayCollision
C#
public bool OneWayCollision { get; set; }

If true, only edges that face up, relative to CollisionPolygon2D's rotation, will collide with other objects. Note: This property has no effect if this CollisionPolygon2D is a child of an Area2D node. Note: The one way collision direction can be configured by setting CollisionPolygon2D.OneWayCollisionDirection.

OneWayCollisionDirectionProperty
# OneWayCollisionDirection
C#
public Vector2 OneWayCollisionDirection { get; set; }

The direction used for one-way collision.

OneWayCollisionMarginProperty
# OneWayCollisionMargin
C#
public float OneWayCollisionMargin { get; set; }

The margin used for one-way collision (in pixels). Higher values will make the shape thicker, and work better for colliders that enter the polygon at a high velocity.

PolygonProperty
# Polygon
C#
public Vector2[] Polygon { get; set; }

The polygon's list of vertices. Each point will be connected to the next, and the final point will be connected to the first. Note: The returned vertices are in the local coordinate space of the given CollisionPolygon2D.

Methods13

GetBuildModeCollisionPolygon2D.BuildModeEnum
# GetBuildMode
C#
public CollisionPolygon2D.BuildModeEnum GetBuildMode();
Returns CollisionPolygon2D.BuildModeEnum
GetOneWayCollisionDirectionVector2
# GetOneWayCollisionDirection
C#
public Vector2 GetOneWayCollisionDirection();
Returns Vector2
GetOneWayCollisionMarginfloat
# GetOneWayCollisionMargin
C#
public float GetOneWayCollisionMargin();
Returns float
GetPolygonVector2[]
# GetPolygon
C#
public Vector2[] GetPolygon();
Returns Vector2[]
IsDisabledbool
# IsDisabled
C#
public bool IsDisabled();
Returns bool
IsOneWayCollisionEnabledbool
# IsOneWayCollisionEnabled
C#
public bool IsOneWayCollisionEnabled();
Returns bool
SetBuildModevoid
# SetBuildMode
C#
public void SetBuildMode(CollisionPolygon2D.BuildModeEnum buildMode);
Parameters
NameTypeDefault
buildModeCollisionPolygon2D.BuildModeEnum—
SetDisabledvoid
# SetDisabled
C#
public void SetDisabled(bool disabled);
Parameters
NameTypeDefault
disabledbool—
SetOneWayCollisionvoid
# SetOneWayCollision
C#
public void SetOneWayCollision(bool enabled);
Parameters
NameTypeDefault
enabledbool—
SetOneWayCollisionDirectionvoid
# SetOneWayCollisionDirection
C#
public void SetOneWayCollisionDirection(Vector2 direction);
Parameters
NameTypeDefault
directionVector2—
SetOneWayCollisionMarginvoid
# SetOneWayCollisionMargin
C#
public void SetOneWayCollisionMargin(float margin);
Parameters
NameTypeDefault
marginfloat—
SetPolygon2 overloads
# SetPolygon · 1/2
C#
public void SetPolygon(Vector2[] polygon);
Parameters
NameTypeDefault
polygonVector2[]—
# SetPolygon · 2/2
C#
public void SetPolygon(ReadOnlySpan<Vector2> polygon);
Parameters
NameTypeDefault
polygonReadOnlySpan<Vector2>—

CollisionPolygon2D.BuildModeEnum

ValueDescription
Segments = 1

Collisions will only include the polygon edges. In this mode the node has the same effect as a single ConcavePolygonShape2D made of segments, with the restriction that each segment (after the first one) starts where the previous one ends, and the last one ends where the first one starts (forming a closed but hollow polygon).

Solids = 0

Collisions will include the polygon and its contained area. In this mode the node has the same effect as several ConvexPolygonShape2D nodes, one for each convex shape in the convex decomposition of the polygon (but without the overhead of multiple nodes).

Reckfell Engine documentationBack to top ↑
QUICK LINKSGetting startedEntity hierarchyC# & .NET 10Scenes and prefabs
Reckfell guides and full API K
reckfellENGINE
RECKFELL ACCOUNT

Sign in

Sign in to your Reckfell account.

One account for the entire Reckfell platform.