很久以来我一直在研究这种碰撞响应。我想我会问你们一些指导。
http://jsbin.com/qoyuciti/1 编辑链接:http://jsbin.com/qoyuciti/1/edit?html (只知道在 jsbin 编辑模式下不能使用移动键(据我所知))
这个 JSBin 展示了我目前拥有的东西。我可以四处走动,当我击中箱子时,我不会进入低谷,而是滑过箱子。有两个问题:
- 向左滑行,一切顺利,向右滑行,它开始“跳跃”;
- 有时在碰撞大约 20 秒后球体会穿过盒子。我认为这可能与我在向右滑行时遇到的“跳跃”有关。
我的方法的快速解释
用户开始行走,一旦我与盒子相交,我就开始测试在球体前面的 180 度圆锥体(用户前进的方向)中的相交。一旦找到空位,它就会将玩家放在那里。
如果谁有更好的方法请告诉我。在我解释我的代码时,这似乎可以变得更有效率,但请告诉我:)
提前致谢!
最佳答案
您也许可以使用内部碰撞系统,但创建一个假的自由相机并将您的球体添加为相机的子级。然后你可以使用键移动相机,babylonjs 会自动为你计算碰撞
否则你也可以使用私有(private)函数scene._getNewPosition直接使用碰撞引擎
关于javascript - BabylonJS:碰撞检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23456836/