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

Collider2D.callbackLayers

建议更改

成功!

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

关闭

提交失败

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

关闭

取消

public LayerMask callbackLayers;

描述

Collider2D 在与另一个 Collider2D 接触期间将报告碰撞或触发回调的图层。

当两个 Collider2D 之间发生接触时,每个 Collider2D 将获得碰撞或触发回调。此选项允许您选择将产生回调的图层。

限制哪些图层将导致回调的能力可以降低回调内脚本的复杂性,以便它可以安全地假设只有特定图层将被报告。此外,不执行不需要的回调也能带来性能提升。

这些是受回调图层影响的所有物理回调

注意:

  • 这不会控制 Collider2D 是否会发生接触,而仅仅是控制是否会发生相应的回调。
  • 即使选择了所有回调图层,也只有通过 Collider2D.contactCaptureLayers 捕获的接触才会被报告。
  • 参与任何在此处禁用的接触回调的其他 Collider2D 仍将接收其自己的 callbackLayers 属性定义的回调。
  • 通常,Collider2D 及其所附着的 Rigidbody2D 都会接收回调,因此此选项控制这两个组件的回调。
  • 当启用回调图层(其中已存在回调)时,这些接触将不会被报告为新的接触,即不会产生 OnCollisionEnter2DOnTriggerEnter2D 回调。

其他资源:LayerMask