Unity 2D中调用Physics2D.IgnoreLayerCollision后如何恢复碰撞?
Unity 2D恢复图层碰撞的方法
你用Physics2D.IgnoreLayerCollision(6, 7)让图层6和7之间忽略碰撞,要恢复正常碰撞很简单,调用同一个方法时传入第三个参数false即可:
Physics2D.IgnoreLayerCollision(6, 7, false);
这个方法的第三个参数ignore默认值是true,作用是开启碰撞忽略;把它设为false,就会取消两个图层间的碰撞屏蔽,让对象重新触发碰撞交互。
如果是针对单个对象对的临时碰撞控制(而非整个图层),也可以用Physics2D.IgnoreCollision方法,同样通过第三个参数false恢复:
// 假设obj1、obj2是两个对象的Collider2D组件引用 Physics2D.IgnoreCollision(obj1, obj2, false);
内容的提问来源于stack exchange,提问作者Pbwanska
相关产品推荐
相关产品推荐

