添加到网格时,相机的位置不会改变

时间:2014-08-20 14:54:56

标签: javascript camera three.js

我想要实现一点点TPS(相机跟随播放器)。我将相机添加到一个立方体(当他移动时代表玩家),并在this fiddle中显示相机和立方体的坐标。相机也跟随立方体,但您可以看到相机坐标没有变化。没有问题但是当我想使用拣选时,坐标是错误的,因为它取决于相机。

我就这样做了:

cube.add(Camera);

有人有想法吗?

1 个答案:

答案 0 :(得分:0)

将相机添加到多维数据集时,会将其设为child个对象。子项的坐标相对于其父是local coordinates (与缩放和旋转一样),因此当父项(多维数据集)移动时它们不会更改。

您想知道的是相机的world coordinates。没有直接的属性,因为Three.js只存储完整的世界矩阵,但 提供了一个很好的辅助函数来从该矩阵中提取它:

var cameraPosition = new THREE.Vector3();
cameraPosition.setFromMatrixPosition(Camera.matrixWorld);