版本: Unity 6 (6000.0)
语言英语
  • C#

PolygonCollider2D

UnityEngine 中的类

/

继承自:Collider2D

/

实现于:UnityEngine.Physics2DModule

建议更改

成功!

感谢您帮助我们改进 Unity 文档的质量。虽然我们无法接受所有提交内容,但我们确实会阅读用户提出的每项建议更改,并在适用时进行更新。

关闭

提交失败

由于某些原因,您的建议更改无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们改进 Unity 文档的质量。

关闭

取消

描述

用于二维物理的碰撞器,表示由顶点定义的任意多边形。

属性

autoTiling确定是否根据 SpriteRenderer 的平铺属性自动更新 PolygonCollider2D 的形状。
pathCount多边形中的路径数量。
points在局部空间中定义碰撞器形状的角点。
useDelaunayMesh当值为 true 时,碰撞器使用额外的德劳内三角剖分步骤来生成碰撞器网格。当值为 false 时,不会执行此额外步骤。

公共方法

CreatePrimitive创建具有指定边数的规则原始多边形。
GetPath通过索引从碰撞器中获取路径。
GetTotalPointCount返回多边形中所有路径的总点数。
SetPath通过其组成点定义路径。

继承的成员

属性

enabled已启用的行为会更新,已禁用的行为不会更新。
isActiveAndEnabled报告游戏对象及其关联的行为是否处于活动状态并已启用。
attachedRigidbody附加到 Collider2D 的 Rigidbody2D。
bounceCombineCollider2D 使用的弹性组合模式。
bouncinessCollider2D 使用的弹性。
bounds碰撞器的世界空间包围区域。
callbackLayers当 Collider2D 与另一个 Collider2D 发生接触时,此 Collider2D 将为其报告碰撞或触发回调的图层。
composite获取可附加到碰撞器的 CompositeCollider2D。
compositeCapable指示此 Collider2D 是否能够被 CompositeCollider2D 合成。
compositeOperationCompositeCollider2D 要使用的合成操作。
compositeOrder使用 CompositeCollider2D 时要使用的合成操作顺序。
contactCaptureLayers将捕获的与该 Collider2D 发生接触的其他 Collider2D 的图层。
density用于计算其质量(当启用自动质量时)的碰撞器的密度。
errorState错误状态,指示二维碰撞器尝试创建的物理形状的状态。(只读)
excludeLayers此 Collider2D 在决定是否应与另一个 Collider2D 发生接触时应排除的额外图层。
forceReceiveLayers此 Collider2D 在与另一个 Collider2D 发生碰撞接触时可以接收力的图层。
forceSendLayers此 Collider2D 在与另一个 Collider2D 发生碰撞接触时可以发送力的图层。
frictionCollider2D 使用的摩擦力。
frictionCombineCollider2D 使用的摩擦力组合模式。
includeLayers此 Collider2D 在决定是否应与另一个 Collider2D 发生接触时应包含的额外图层。
isTrigger此碰撞器是否配置为触发器?
layerOverridePriority分配给此 Collider2D 的决策优先级,在决定其与另一个 Collision2D 之间的接触是否应发生时出现冲突时使用。
localToWorldMatrix用于将碰撞器物理形状转换为世界空间的变换矩阵。
offset碰撞器几何图形的局部偏移量。
shapeCountCollider2D 当前使用的活动 PhysicsShape2D 的数量。
sharedMaterial应用于此碰撞器的 PhysicsMaterial2D。
usedByEffector碰撞器是否被附加的效应器使用。
gameObject此组件所附加的游戏对象。组件始终附加到游戏对象。
tag此游戏对象的标签。
transform附加到此游戏对象的变换。
hideFlags对象是否应隐藏、与场景一起保存或用户可修改?
name对象的名称。

公共方法

Cast从碰撞器位置开始,忽略碰撞器本身,将碰撞器形状投射到场景中。
ClosestPoint返回此碰撞器外围上最靠近指定位置的点。
CreateMesh创建与 Collider2D 几何图形定义的区域相同的平面网格。
Distance计算此碰撞器与另一个碰撞器之间的最小间距。
GetContacts检索此碰撞器的所有接触点。
GetShapeBounds检索此 Collider2D 创建的所有 PhysicsShape2D 的边界列表,并返回检索到的列表的组合边界。
GetShapeHash根据 Collider2D 的几何图形生成一个简单的哈希值。
GetShapes获取 Collider2D 使用的所有 PhysicsShape2D。
IsTouching检查此碰撞器是否正在接触碰撞器。
IsTouchingLayers检查此碰撞器是否正在接触指定图层蒙版上的任何碰撞器。
Overlap获取与该碰撞器重叠的所有碰撞器的列表。
OverlapPoint检查碰撞器是否与空间中的某个点重叠。
Raycast从碰撞器位置开始,忽略碰撞器本身,将射线投射到场景中。
BroadcastMessage在该游戏对象或其任何子对象中的每个 MonoBehaviour 上调用名为 methodName 的方法。
CompareTag将游戏对象的标签与定义的标签进行比较。
GetComponent获取与指定组件相同的 GameObject 上类型为 T 的组件的引用。
GetComponentInChildren获取与指定组件相同的 GameObject 或 GameObject 的任何子对象上类型为 T 的组件的引用。
GetComponentIndex获取组件在其父 GameObject 上的索引。
GetComponentInParent获取与指定组件相同的 GameObject 或 GameObject 的任何父对象上类型为 T 的组件的引用。
GetComponents获取与指定组件相同的 GameObject 上类型为 T 的所有组件的引用。
GetComponentsInChildren获取与指定组件相同的 GameObject 或 GameObject 的任何子对象上类型为 T 的所有组件的引用。
GetComponentsInParent获取与指定组件相同的 GameObject 或 GameObject 的任何父对象上类型为 T 的所有组件的引用。
SendMessage在该游戏对象中的每个 MonoBehaviour 上调用名为 methodName 的方法。
SendMessageUpwards在该游戏对象以及行为的每个祖先上的每个 MonoBehaviour 上调用名为 methodName 的方法。
TryGetComponent获取指定类型的组件(如果存在)。
GetInstanceID获取对象的实例 ID。
ToString返回对象的名称。

静态方法

Destroy删除游戏对象、组件或资产。
DestroyImmediate立即销毁对象 obj。强烈建议使用 Destroy 代替。
DontDestroyOnLoad在加载新场景时不要销毁目标对象。
FindAnyObjectByType检索任何活动加载的类型为 type 的对象。
FindFirstObjectByType检索类型为 type 的第一个活动加载的对象。
FindObjectsByType检索类型为 type 的所有加载对象的列表。
Instantiate克隆对象 original 并返回克隆。
InstantiateAsync捕获原始对象(必须与某个 GameObject 相关)的快照,并返回 AsyncInstantiateOperation。

运算符

bool对象是否存在?
operator !=比较两个对象是否引用不同的对象。
operator ==比较两个对象引用,查看它们是否引用同一个对象。

消息

OnCollisionEnter2D当传入的碰撞器与该对象的碰撞器发生接触时发送(仅限二维物理)。
OnCollisionExit2D当另一个对象上的碰撞器停止接触该对象的碰撞器时发送(仅限二维物理)。
OnCollisionStay2D在另一个对象上的碰撞器接触该对象的碰撞器的每一帧发送(仅限二维物理)。
OnTriggerEnter2D当另一个对象进入附加到该对象的触发器碰撞器时发送(仅限二维物理)。
OnTriggerExit2D当另一个对象离开附加到该对象的触发器碰撞器时发送(仅限二维物理)。
OnTriggerStay2D在另一个对象位于附加到该对象的触发器碰撞器内的每一帧发送(仅限二维物理)。