【发布时间】:2015-06-13 15:00:08
【问题描述】:
我有一个 Unity 项目,其中有一个 2D 游戏世界,它由静态对撞机组成,以使几何图形对居住在其中的角色保持立体感。玩家是一个动态对撞机(具有非运动学刚体)。还有一个敌人角色也是一个动态对撞机。两个角色都像我期望的那样走过地板并撞到墙壁。
我想要实现的是玩家和敌人之间并不牢固,所以他们可以互相穿行。我通过将敌人和玩家放在不同的层上并设置碰撞矩阵来实现这一点,这样这些层就不会相互碰撞。然而,我现在遇到的问题是我确实想检测敌人和玩家是否相互碰撞。我为敌人角色添加了一个触发碰撞器,它在敌人层上,这意味着它不会检测到与玩家的碰撞。
我想为敌人制作一个子游戏对象,把它放在玩家的图层上,添加一个刚体并触发碰撞器,并用它来检测玩家和敌人之间的碰撞,但感觉太复杂了让我想知道是否没有更优雅的解决方案。
【问题讨论】: