Three.js的lookat似乎被翻转了。

3
我有一个演示,展示了我的意思: 测试网站 或者 (备用)
由于某种原因,尽管鼠标向量是正确的,但我的对象总是朝着正Y轴旋转90度。据我所知,唯一可能出错的调用是: ship.mesh.lookAt(mouse);,我在每次屏幕动画时都会调用它。
有谁能告诉我该如何解决这个问题以及为什么会这样?

注意:我的演示由于硬盘故障和缺乏重新创建的兴趣而丢失。 - Tyler Scott
1个回答

3

object.lookAt( position )函数可以使物体朝向所需位置,使物体的本地正向z轴指向该位置。

你的“飞船”的前方指向本地正向y轴的方向。

编辑:

要重新定位你的几何图形,请在几何图形创建后立即应用矩阵,例如:

geometry.applyMatrix( new THREE.Matrix4().makeRotationX( Math.PI / 2 ) );

谢谢。我该如何更改对象的本地旋转,以便当我使用lookat时,船的点会指向鼠标? - Tyler Scott
我在three.js的issues中找到了解决方案。感谢您引导我朝着正确的方向前进。 - Tyler Scott
你找到的“解决方案”与上面答案中的解决方案有何不同? - WestLangley
它并没有,但是在回来这里之前找到了解决方案。有趣的是,你写了两个。谢谢你的帮助! - Tyler Scott

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接