有很多关于碰撞检测的优秀资料,例如threex.colliders或者一些问题上的代码片段,但是实际上大部分这些资料都已经过时了(如multiplyVector3等函数已经改变或删除)。我有一个Object3D(角色模型)和一个World(包含3D模型:汽车、树木、建筑等)。通过箭头键,我可以移动角色模型(通过translateX/Y在渲染循环中进行移动)。
我想要的是角色模型和其他所有物体之间的碰撞检测(除了地面和其它一些物体)。因此,我需要在Object3D(角色)和WorldObjects [](所有物体)之间进行碰撞检测。
那么,现在有几种方法可以实现所需的结果,哪种方式最好(快速且易于理解)?如果能够达到目标,问题是:当角色与其他任何物体发生碰撞时,如何阻止他向该方向移动,但又可以向后、右或左移动呢?
我想要的是角色模型和其他所有物体之间的碰撞检测(除了地面和其它一些物体)。因此,我需要在Object3D(角色)和WorldObjects [](所有物体)之间进行碰撞检测。
那么,现在有几种方法可以实现所需的结果,哪种方式最好(快速且易于理解)?如果能够达到目标,问题是:当角色与其他任何物体发生碰撞时,如何阻止他向该方向移动,但又可以向后、右或左移动呢?
if(!collision){ ...移动物体... }
- Wilt