相机
相机是 Cesium 中比较核心的一个类,用于模拟人眼对场景的观察。场景中的所有物体其实最后都是投射到一张平面上最终已画布的形式呈现出来,我们相机的角度和位置决定了所能看到的内容。

Cesium 中相机对应的类为 Camera,我们打开其文档

从文档中可以看到,一个相机由三个参数构成
position:相机的位置,也就是我们视角的位置。
orientation:相机的方向,也就是我们视角的朝向。
frustum:相机视椎体,其作用就是决定我们能够看到什么,相机是用来模拟人眼观察场景的,而我们人眼所看的范围和距离是有限的,这个限制就是通过视椎体设置的。
视椎体
Cesium 的视椎体有两种,分别为 透视视锥体PerspectiveFrustum 和 正交视锥体OrthographicFrustum。

正交投影
在这种投影方式下,物体与观察者之间的距离不影响物体的尺寸,即物体在观察者眼中的大小不会因为距离的不同而有所变化。正交投影的结果不会产生近大远小的效果,而是以平行线投射方式进行投影,使得物体在画面上的大小和形状保持不变。这种投影方式常用于需要精确测量和布局的场景,如建筑图纸或电路设计图。
透视投影
与正交投影不同,透视投影会考虑到物体与观察者之间的距离,从而产生近大远小的效果。透视投影能够模拟人眼对远近物体的视觉感知,使得画面更加符合人眼的视觉习惯。透视投影可以营造出更加真实的三维效果,常用于电影、游戏等需要强烈视觉冲击力的场景。
Cesium 场景相机采用的是透视视锥体,即代表渲染时使用的是透视投影,所以场景的渲染结果中你也会看到近大远小的效果,与现实世界中,我们人眼观察的结果是一致的。在下面示例中依次调整 fieldOfView(视) 、 near(近截面) 、 far(远截面) 和 zPosition(z轴位置) 的值,观察上方视椎体大小以及下方相机画面变化。