【发布时间】:2017-07-17 02:39:49
【问题描述】:
我有一个看向另一个对象的对象。但是当我进行碰撞检测时。他没有看到我对LookAt 所做的轮换。但他使用他的默认轮换。为什么他不使用我对LookAt 所做的轮换愿望?
这就是问题所在:
蓝色是默认的。绿色的显示蓝色的带有LookAt。
为什么 LookAt 不影响碰撞检测?
我的碰撞检测:(我制作了一款 RTS 游戏,所以我只使用 X 和 Z)
function collisionXZ(o1, o2) {
if (Math.abs(o1.position.x - o2.position.x) > (o1.geometry.parameters.width + o2.geometry.parameters.width) / 2)
return false;
if (Math.abs(o1.position.z - o2.position.z) > (o1.geometry.parameters.depth + o2.geometry.parameters.depth) / 2)
return false;
return true;
}
【问题讨论】:
-
LookAt是什么意思?您正在使用THREE.Object3D.lookAt()方法旋转对象,是这样吗? 碰撞检测是什么意思?您的碰撞检测算法是否使用matrixWorld来测试对象? -
@neeh 感谢您的回答。是的,我用
LookAt()旋转了一个 3D 对象。不,我的碰撞检测不使用 matrixWorld。我需要那个吗?我用我的碰撞检测更新了我的帖子。也许你有一些反馈..?非常感谢
标签: javascript three.js collision-detection