【问题标题】:Player gets stuck when moving across multiple objects that have colliders玩家在穿过具有碰撞器的多个对象时卡住
【发布时间】:2016-04-12 00:57:08
【问题描述】:
为了我的任务,我必须制作一个超级马里奥兄弟 NES 克隆。我目前遇到的问题是当玩家马里奥遇到多个砖块时,他被卡住了。我认为这是因为每个单独的砖块都是预制件,因此有多个刚体 2d 和碰撞器。
我做了一些谷歌搜索,很多人建议在播放器底部添加一个圆形对撞机,我尝试过。我不喜欢这个结果,因为它在移动和玩家与其他物体的碰撞方面产生了更多问题。
同样,我看过网格对撞机,但它似乎只适用于 3d。
如果有人能指出我正确的方向,那就太好了!
【问题讨论】:
标签:
collision-detection
collision
unity5
【解决方案1】:
我之前也遇到过同样的问题。你是对的,拥有许多较小的地面对撞机会让你感到困惑。您想要做的不是让一个平台由多个单独的对撞机组成,而是让大型对撞机代表整个事物。
这显然很棘手,因为砖块需要能够单独移除。我想做的是创建一个新的游戏对象(“砖块对撞机管理器”),它寻找水平连续的砖块部分(可能通过迭代GameObject.FindObjectsWithTag("Brick"))并在它们周围创建对撞机(可能是它自己的游戏对象,或将其实例化为其子对象的预制件。
然后,当砖被破坏时,它可以重新计算。