我正在创建一个简单的游戏,使用Three.js作为渲染器,物理引擎使用Physijs,尽管这个问题可以很容易地推广到游戏整体。
在游戏中,玩家经常拥有物理/运动,它似乎与它所栖息的物理引擎分开。它们随着瞬间加速而移动并立即停止。然而,根据物理引擎的规则,玩家可以从高处跌落并与其他物体(或玩家)碰撞。
请注意,出于我的问题的目的,播放器有一个不受物理限制的相机对象,尽管它可以很容易地附加到物理对象。
实现这种效果的最佳方法是什么?我想到了一些解决方案,但似乎没有一个解决方案:
没有物理附件,翻译播放器的相机。但是,这会忽略碰撞,绕过物理引擎。
物理附着,并对物理对象施加力。然而,这涉及摩擦力并将玩家的运动置于物理引擎的摆布之下。
思考? (有一个类似的问题“https://stackoverflow.com/questions/15822168/how-to-make-a-walk-though-like-fps-tps-games-with-three-js-and-physics-engine”,虽然没有得到答案)
答案 0 :(得分:0)
如果我正确理解了您的问题,您希望相机具有碰撞检测但不依赖于物理引擎。获得碰撞检测的另一种方法是通过光线追踪,你可以在这里找到一个例子:http://stemkoski.github.io/Three.js/Collision-Detection.html