我刚开始使用Three.js。就像刚才一样。
玩了一个小时左右,并构建了一个工具,帮助我了解不同元素如何协同工作(相机,光线,物体),我发现了一些奇怪的东西。
工具:http://hotblocks.nl/tests/three/cubes.html
这是当前的默认设置:
如您所见,对象位于视口的最底部。所以我想把相机向下转,所以我可以看到更多相机。
尝试:转动camera.rotation.x
。
这有效,但旋转角度是错误的!而不是相机旋转,它是绕Z轴旋转的世界。
那不对,是吗?
Y轴也是错误的。它围绕Y轴旋转世界。
围绕Z轴旋转相机,效果很好:相机旋转,而不是世界。
我做错了吗?或者理解错了?
PS 由于相机旋转仅围绕其Y轴,因此对象的垂直边缘也应在结果中垂直。在默认设置中,它们是。围绕X轴旋转相机不应该改变它,但确实如此。只绕其Z轴旋转应该改变它(它确实)。我错了吗?
PPS 我知道Camera.lookAt( THREE.Vector3 target )
,但这会改变相机的旋转,包括其Z轴,这在逻辑上是不必要的。