PolygonGeometry
The geometry of a closed convex polygon. The geometry has a fixed maximum number of vertices as defined by the constant PhysicsConstants.MaxPolygonVertices. Polygon regions that require a larger quantity of vertices or are concave are defined by multiple polygon geometry using the PhysicsComposer or the PolygonGeometry.CreatePolygons utility. See PhysicsBody.CreateShape.
阅读时间3 分钟最后更新于 8 天前
Definition
- Type: Struct
- Namespace: Unity.U2D.Physics
- Assembly: UnityEngine.PhysicsCore2DModule
- Implements: IEquatable<PolygonGeometry>
public struct PolygonGeometry : IEquatable<PolygonGeometry>
Fields
Value | Description |
|---|---|
| normals | The geometry normal stored in a PhysicsShape.ShapeArray. |
| vertices | The geometry vertices stored in a PhysicsShape.ShapeArray. |
Static Fields
Value | Description |
|---|---|
| defaultGeometry | Get the default Polygon. |
Constructors
Constructor | Description |
|---|---|
| PolygonGeometry() | Create a default Polygon. See PolygonGeometry.defaultGeometry. |
Properties
Property | Description |
|---|---|
| areEdgesValid | Whether every edge of this polygon is far enough apart and no three consecutive vertices are collinear, matching the rules applied when building a polygon from vertices. |
| centroid | The centroid of the polygon. |
| count | The number of polygon vertices. |
| isValid | Whether the geometry describes a polygon that can be used. |
| radius | The external radius for rounded polygons. |
Methods
Method | Description |
|---|---|
| AsReadOnlySpan | Get the polygon vertices as a read-only span. |
| AsSpan | Get the polygon vertices as a span. |
| CalculateAABB | Calculate the AABB of the geometry. |
| CalculateMassConfiguration | Calculate the mass configuration of the geometry. |
| CastRay | Calculate if a world ray intersects the geometry. See PhysicsQuery.CastResult. |
| CastShape | Calculate if a cast shape intersects the geometry. Initially touching shapes are treated as a miss. You should check for overlap first if initial overlap is required. See PhysicsQuery.CastShapeInput and PhysicsQuery.CastResult. |
| ClosestPoint | Calculate the closest point on this geometry to the specified point. |
| CreateShapeProxy | Create a shape proxy from the geometry. |
| Intersect | Check the intersection between this geometry and another. |
| InverseTransform | Inverse-Transform the geometry. |
| OverlapPoint | Calculate if a point overlaps the geometry. |
| Transform | Transform the specified geometry. |
| Validate | Rebuild the polygon from its vertices. |
Static Methods
Method | Description |
|---|---|
| Create | Create a Polygon from the specified vertices. The number of vertices must be in the range 3 to PhysicsConstants.MaxPolygonVertices. |
| CreateBox | Create a Polygon as a four-sided box. |
| CreatePolygons | Create multiple PolygonGeometry from a set of vertices. The vertices are assumed to produce a closed loop but can describe a concave shape if required. There must be at least 3 vertices. A limit is imposed on small vertex distances so be aware that this overload uses a vertex scale of Vector2.one so consider using the overload which allows you to increase this if required. |
| CreateRegularPolygon | Creates a regular polygon, one with every side the same length and every angle the same, from a number of sides and the distance from its center to each vertex. Before the transform is applied, the polygon is centered on the origin with one edge lying flat along the bottom, so a triangle points up and a four-sided polygon is an axis-aligned square. Use it for an equilateral triangle, a hexagon or any other evenly shaped polygon, rather than calculating each vertex yourself and creating the polygon from them. |
| DeleteVertex | Delete a vertex from the geometry returning a new geometry with updated normals and centroid. |
| InsertVertex | Insert a vertex into the geometry returning a new geometry with updated normals and centroid. |
| InverseTransform | Inverse-Transform a batch of geometry in place. A transform that degenerates the geometry hull writes an invalid (zero-vertex) polygon in its place. |
| Transform | Transform a batch of geometry in place. A transform that degenerates the geometry hull writes an invalid (zero-vertex) polygon in its place. |
Structs
Struct | Description |
|---|---|
| PolygonGeometry.ConvexHull | A simple convex hull. The hull is not validated by physics so cannot be used directly for shapes. |