对于我的任务,我必须制作超级马里奥兄弟NES克隆。我目前面临的问题是当玩家马里奥遇到多个砖块时,他会遇到困难。我认为这是因为每个砖都是预制件,因此有多个刚体2和碰撞器。
我已经完成了一些谷歌搜索,很多人建议在玩家底部添加一个圆形对撞机,我试过了。我不喜欢这个结果,因为它造成了更多关于移动和玩家与其他物体碰撞的问题。
同样,我看过网格对撞机,但它似乎仅适用于3D。
如果有人能指出我正确的方向,那就太好了!
答案 0 :(得分:0)
之前我遇到过同样的问题。你是对的,有很多较小的地面对撞机是搞乱你的。您想要做的不是让平台由多个单独的碰撞器组成,而是在大型对撞机上代表整个碰撞器。
这显然很棘手,因为砖需要能够单独移除。我要做的是创建一个新的游戏对象(“砖碰撞管理器”),它寻找砖块的水平连续部分(可能通过迭代GameObject.FindObjectsWithTag("Brick")
)并在它们周围创建碰撞器(可能是它自己的游戏对象的组件,或者它实例化为其子项的预制件。
然后,当砖被摧毁时,它可以重新计算。