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

CompositeCollider2D

UnityEngine 中的类

/

继承自:Collider2D

/

实现于:UnityEngine.Physics2DModule

建议更改

成功!

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

关闭

提交失败

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

关闭

取消

描述

一个可以将其他碰撞器合并在一起的碰撞器。

当一个 CompositeCollider2D 合并其他碰撞器时,如果它们的 Collider2D.compositeOperation 属性不是 Collider2D.CompositeOperation.None,也就是选择了复合操作时,就会发生合并。

当复合碰撞器使用碰撞器时,编辑器将忽略并不会显示 Collider2D.sharedMaterialCollider2D.isTriggerCollider2D.compositeOperation 属性。相反,将使用 CompositeCollider2D 上的相同属性。您应该在复合碰撞器上设置这些属性,以便将所有碰撞器合并到复合碰撞器中。

注意: 此 Collider2D 无法使用 Behaviour.enabled 属性禁用/启用。对该属性的任何更改都将被忽略。

属性

edgeRadius控制碰撞器创建的所有边缘的半径。
generationType指定何时生成复合碰撞器几何体。
geometryType指定复合碰撞器应该生成的几何体类型。
offsetDistance在合成多个物理形状时,顶点会按此距离偏移。在此距离内的形状之间的任何顶点都会合并。
pathCount碰撞器中的路径数量。
pointCount获取碰撞器中所有路径中的总点数。
useDelaunayMesh当值为 true 时,碰撞器使用额外的 Delaunay 三角剖分步骤来生成碰撞器网格。当值为 false 时,不会执行此额外步骤。
vertexDistance控制生成的顶点之间允许的最小距离。

公共方法

GenerateGeometry重新生成复合碰撞器几何体。
GetCompositedColliders当任何 Collider2D 使用任何复合操作(除了 Collider2D.CompositeOperation.None)时,此 CompositeCollider2D 就会使用它。
GetPath通过其索引从碰撞器获取路径。
GetPathPointCount通过其索引获取碰撞器中指定路径中的点数。

继承的成员

属性

enabled已启用的行为将被更新,已禁用的行为将不被更新。
isActiveAndEnabled报告游戏对象及其关联的行为是否处于活动状态且已启用。
attachedRigidbody附加到 Collider2D 的 Rigidbody2D。
bounceCombineCollider2D 使用的弹性组合模式。
bouncinessCollider2D 使用的弹性。
bounds碰撞器的世界空间边界区域。
callbackLayers在与另一个 Collider2D 接触时,此 Collider2D 将为其报告碰撞或触发回调的图层。
composite获取可附加到碰撞器的 CompositeCollider2D。
compositeCapable指示此 Collider2D 是否能够被 CompositeCollider2D 合成。
compositeOperationCompositeCollider2D 将使用的复合操作。
compositeOrder使用 CompositeCollider2D 时使用的复合操作顺序。
contactCaptureLayers将被捕获的与此 Collider2D 发生接触的其他 Collider2D 的图层。
density用于计算其质量的碰撞器的密度(当自动质量启用时)。
errorState错误状态,指示 2D 碰撞器尝试创建的物理形状的状态。(只读)
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附加到此游戏对象的 Transform。
hideFlags对象是否应该隐藏、与场景一起保存或由用户修改?
name对象的名称。

公共方法

Cast从碰撞器位置开始将碰撞器形状投射到场景中,忽略碰撞器本身。
ClosestPoint返回此碰撞器周长上最靠近指定位置的点。
CreateMesh创建一个与 Collider2D 几何体定义的区域相同的平面网格。
Distance计算此碰撞器与另一个碰撞器之间的最小间距。
GetContacts检索此碰撞器的所有接触点。
GetShapeBounds检索由此 Collider2D 创建的所有 PhysicsShape2D 的 Bounds 列表,并返回检索到的列表的组合 Bounds。
GetShapeHash根据 Collider2D 的几何体生成一个简单的哈希值。
GetShapes获取 Collider2D 使用的所有 PhysicsShape2D。
IsTouching检查此碰撞器是否正在接触碰撞器。
IsTouchingLayers检查此碰撞器是否正在接触指定图层掩码上的任何碰撞器。
Overlap获取与此碰撞器重叠的所有碰撞器的列表。
OverlapPoint检查碰撞器是否与空间中的点重叠。
Raycast将射线投射到场景中,该射线从碰撞器位置开始,忽略碰撞器本身。
BroadcastMessage在该游戏对象或其任何子对象中的每个 MonoBehaviour 上调用名为 methodName 的方法。
CompareTag将游戏对象的标签与定义的标签进行比较。
GetComponent获取与指定组件位于同一游戏对象上的类型为 T 的组件的引用。
GetComponentInChildren获取与指定组件位于同一游戏对象上的类型为 T 的组件的引用,或获取该游戏对象的任何子对象的引用。
GetComponentIndex获取组件在其父游戏对象上的索引。
GetComponentInParent获取与指定组件位于同一游戏对象上的类型为 T 的组件的引用,或获取该游戏对象的任何父对象的引用。
GetComponents获取与指定组件位于同一游戏对象上的类型为 T 的所有组件的引用。
GetComponentsInChildren获取与指定组件位于同一游戏对象上的类型为 T 的所有组件的引用,以及该游戏对象的任何子对象的引用。
GetComponentsInParent获取与指定组件位于同一游戏对象上的类型为 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捕获原始对象(必须与某个游戏对象相关)的快照,并返回 AsyncInstantiateOperation。

运算符

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

消息

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