我刚刚开始使用Three.js . 就像现在一样 .
玩了一个小时左右,并构建了一个工具,帮助我了解不同元素如何协同工作(相机,光,物体),我发现了一些奇怪的东西 .
该工具:http://hotblocks.nl/tests/three/cubes.html
这是当前的默认设置:
-
相机位于210向上和
-
500向后和
-
246在右边
-
相机稍微向左旋转
-
光直接在上方并向各个方向照射
如您所见,对象位于视口的最底部 . 所以我想向下转动相机,所以我可以看到更多相机 .
试试看:转 camera.rotation.x
.
这是有效的,但旋转角度是错误的!而不是相机旋转,它是围绕其Z轴旋转的世界 .
那不对,是吗?
Y轴也是错误的 . 它围绕Y轴旋转世界 .
围绕Z轴旋转相机,效果很好:相机旋转,而不是世界 .
我做错了吗?或者理解错了?
PS 由于相机旋转仅围绕其Y轴,因此对象' vertical edges should be vertical in the result as well. In the default set up, they are. Rotating the camera around its X axis, shouldn' t会改变它,但确实如此 . 只绕其Z轴旋转应该改变它(它确实) . 我错了吗?
PPS 我知道 Camera.lookAt( THREE.Vector3 target )
,但这会改变相机的旋转,包括其Z轴,这在逻辑上是不必要的 .
1 回答
收到Github上的答复:https://github.com/mrdoob/three.js/issues/1163