我是unity新手,我正在制作一款2d游戏。游戏中有一个带有盾牌的敌人。盾(子)有一个盾管理器脚本和一个碰撞器。当它与玩家碰撞时,它会将玩家推回并摧毁自己。
敌人(父)有一个敌人控制器脚本。它也有对撞机。敌人控制器有一个OnCollisionEnter2D函数,用于检测玩家是否攻击它。但是父OnColliderEnter2D函数在两个碰撞器中都被触发。
所以盾被摧毁了,但是敌人也被摧毁了。父进程检测子进程的碰撞器
如何将它们分开?
是否有一种方法可以找到哪个碰撞器与玩家碰撞?
你可以把敌人和盾放在不同的层。在层碰撞矩阵中,您可以禁用这两层之间的碰撞检测。
你可以在Edit>项目设置>物理