collider1 | 与collider2 比较的第一个碰撞体。 |
collider2 | 与collider1 比较的第二个碰撞体。 |
ignore | 是否忽略collider1 和collider2 之间的碰撞/触发。 |
使碰撞检测系统忽略collider1
和collider2
之间的所有碰撞/触发。
忽略碰撞指的是所选碰撞体之间任何类型的交互,即不会发生任何碰撞或触发交互。首先检查碰撞层以查看两个层是否可以交互,如果不能,则不会发生任何交互。之后,将忽略特定碰撞体的交互。
IgnoreCollision 有一些限制:1) 它不是持久性的。这意味着忽略碰撞状态在保存场景时不会存储在编辑器中。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>()); } }