很抱歉,如果已经提出类似的问题。
我有一个角色可以挡住盾牌来阻挡来袭伤害。角色的身体空间有一个圆形对撞机。盾牌有一个盒子对撞机,挡住了他面对的任何方向的一部分,并且只有在玩家按住按钮时才会启用它。我的敌人拥有被触发的箱子碰撞器包围的武器,当他们决定攻击时启用它们。
所以,我的问题是当我的角色在屏蔽时被攻击时,有时会检测到他的身体对撞机,有时会检测到他的盾牌对撞机。无论我尝试什么,我都找不到任何一致性。
[Screenshots](http://i.imgur.com/VHujbcG.png)
[代码] https://gist.github.com/siketh/2401454977d10ed7699b
我整天都在苦苦挣扎,需要另一双眼睛。这不是一个严肃的项目,所以如果你需要看到其他任何东西,我很乐意发布更多代码或解释更多我的设计。
答案 0 :(得分:0)
这可能是因为武器同时与角色和盾牌相交。 Unity中有很棒的工具,如果你想看看是不是这样的话。
Debug.Break();
暂停游戏。然后你可以一步一步地看一下发生了什么。选择角色,盾牌和武器,以便你可以看到他们的碰撞者在行动。通过这种方式,您可以逐步查看与确切冲突的内容。Time.timeScale = 0.1f;
为了防止这种情况,
continuous collision
,但我始终未能在Unity中正确使用它。