ConvexPolygonShape3D
A 3D convex polyhedron shape used for physics collision.
A 3D convex polyhedron shape used for physics collision.
A 3D convex polyhedron shape, intended for use in physics. Usually used to provide a shape for a CollisionShape3D.
ConvexPolygonShape3D is solid, which means it detects collisions from objects that are fully inside it, unlike ConcavePolygonShape3D which is hollow. This makes it more suitable for both detection and physics.
Convex decomposition: A concave polyhedron can be split up into several convex polyhedra. This allows dynamic physics bodies to have complex concave collisions (at a performance cost) and can be achieved by using several ConvexPolygonShape3D nodes. To generate a convex decomposition from a mesh, select the MeshInstance3D node, go to the Mesh menu that appears above the viewport, and choose Create Multiple Convex Collision Siblings. Alternatively, MeshInstance3D.CreateMultipleConvexCollisions can be called in a script to perform this decomposition at run-time.
Performance: ConvexPolygonShape3D is faster to check collisions against compared to ConcavePolygonShape3D, but it is slower than primitive collision shapes such as SphereShape3D and BoxShape3D. Its use should generally be limited to medium-sized objects that cannot have their collision accurately represented by primitive shapes.
Declarations checked against C# SDK 1.0.0. Expand a name to see declarations and documentation.
Constructors1
ConvexPolygonShape3DConstructor
public ConvexPolygonShape3D();Properties1
PointsProperty
public Vector3[] Points { get; set; }The list of 3D points forming the convex polygon shape.
Methods3
GetPointsVector3[]
public Vector3[] GetPoints();Vector3[]SetPoints2 overloads
public void SetPoints(Vector3[] points);| Name | Type | Default |
|---|---|---|
points | Vector3[] | — |
public void SetPoints(ReadOnlySpan<Vector3> points);| Name | Type | Default |
|---|---|---|
points | ReadOnlySpan<Vector3> | — |