经纬志
首页 / Cesium / 使用示例

围绕目标转圈

相机锁在中心塔上,航向每帧加一点点,于是自动绕圈。 俯仰与距离两个滑杆随时改变观察角度,暂停按钮冻结当前视角。

CesiumJS 1.121 · 更新 2026-10-28
源码与运行效果
运行效果

每帧重算一次位姿

在 scene.preRender 里把航向加上 0.0032 弧度,再调用 camera.lookAt(center, new HeadingPitchRange(...))。 由于每次调用都会重新算相机位置,连续执行就形成了环绕。

增量按帧而不是按时间累加,所以帧率变化时转速会略有不同。 需要恒定角速度时,改成按两帧之间的秒数乘以角速度。

两个参数的作用

pitch 为负表示从上往下俯视,越接近 -90° 越接近垂直俯视; range 是相机到目标的直线距离,单位米。两者一起决定 相机在球面上方的一个锥形区域内移动。

可调参数

位置改什么效果
俯仰滑杆-80° 到 -4°从俯视到接近平视
距离滑杆300 到 4000 米远景与近景
heading += 0.0032改成 0.012转得更快
CENTER 的高度120 改成 0绕地面点旋转

lookAt 会接管相机。环绕期间手动拖拽仍有效,但下一帧又会被覆盖。 所以示例提供了暂停按钮,暂停后相机就交回鼠标控制。