在FPS中通常如何处理碰撞检测和移动,尤其是处理地面高度的细微变化,例如楼梯(倾斜和下降)?
在FPS中通常如何处理碰撞检测和移动,尤其是处理地面高度的细微变化,例如楼梯(倾斜和下降)?
Answers:
在Unity 3D中,最简单的方法是拥有第一人称控制器。通常,如果台阶高度大于台阶偏移量,则角色必须跳起来。但是另一种实现方法是添加一个盒子碰撞器并旋转它,以使角色可以轻松地掠过楼梯,就好像它是坡道一样。
布雷迪的答案很好,但是如果您想采用一种怪异的方式,可以将光线投射到地面碰撞几何体上,找出碰撞的三角形,然后使用三角形顶点高度的加权平均值找出地面高度。