我想使用Physics.IgnoreCollision来避免子弹击中自己。 子弹在第8层产生。为什么这不起作用?如何忽略同一层上所有事物的碰撞?
// bulletscript.cs
gameObject.layer = 8;
// maingamescript.cs
Physics.IgnoreCollision(8,8);
第8层上可能还有其他对象也应该被忽略。 (例如,玩家船)。
答案 0 :(得分:7)
答案 1 :(得分:1)
转到Physics Manager并取消检查图层以避免碰撞。
答案 2 :(得分:1)
<强> Troubleshot:强>
没有必要去物理经理,OP已经做了相当于物理经理的正确代码。真正的问题是游戏对象应该已经使用正确的图层进行实例化,因为图层更新可能需要一些时间才能生效。
另一种解决方法是禁用/重新启用对撞机。