collider1 | 要与 collider2 比较的第一个碰撞体。 |
collider2 | 要与 collider1 比较的第二个碰撞体。 |
ignore | 是否应忽略 collider1 与 collider2 之间的碰撞/触发器。 |
使碰撞检测系统忽略 collider1
与 collider2
之间的所有碰撞/触发器。
忽略碰撞指的是忽略所选碰撞体之间的任何类型的相互作用,即不发生碰撞或触发交互。首先检查碰撞层以了解两个层能否交互,如果不能,则不发生相互作用。之后,忽略特定的碰撞体交互。
IgnoreCollision 有一些限制:
1) IgnoreCollision 不是持久的。这意味着保存场景时忽略碰撞状态将不会存储在 Editor 中。
2) 您只能将忽略碰撞应用于活动游戏对象中的碰撞体。
停用碰撞体时,IgnoreCollision 状态将丢失,您必须重新调用 Physics2D.IgnoreCollision。
另请参阅:Physics2D.GetIgnoreCollision、Physics2D.IgnoreLayerCollision。
using UnityEngine;
public class Example : MonoBehaviour { // Instantiate a bullet and make it ignore collisions with this object.
Transform bulletPrefab;
void Start() { var bullet = Instantiate(bulletPrefab) as Transform; Physics2D.IgnoreCollision(bullet.GetComponent<Collider2D>(), GetComponent<Collider2D>()); } }