Unity中忽略父物体碰撞以实现子物体(武器)特定碰撞检测的问题求助
Unity中忽略父物体碰撞以实现子物体(武器)特定碰撞检测的问题求助
大家好,我最近在做一款2D动作游戏,碰到了个碰撞检测的棘手问题,想请教下各位大佬!
先给大家看下游戏的场景:
我的核心需求和遇到的问题如下:
- 需求:当武器碰撞到对方的身体时,正常触发伤害判定;但如果是两把武器互相碰撞,就不要触发伤害。
- 问题:现在两把武器碰撞的时候,系统居然判定成了玩家物体和哥布林物体的碰撞,根本没识别出是武器之间的碰撞!
- 我自己已经试过这些方法,但都没解决:
- 给武器添加/移除刚体组件
- 尝试把武器从玩家的父物体中分离出来(因为感觉武器的碰撞盒好像被合并到玩家的碰撞里了,导致没法单独检测武器间的碰撞)
这是碰撞检测的可视化截图,能更清楚看到当前的碰撞情况:
另外我的伤害处理脚本开头是这样的:
public class ObjectDamage : Mo...
备注:内容来源于stack exchange,提问作者OgnjenGligoric




