SuperAPI AI 工具集

cesiumjs-camera

通用与其它

查看项目

更新于 10-16 09:51

技能介绍

用途:面向 CesiumJS v1.144(ES 模块导入,import { ... } from "cesium";)的相机与导航控制,通过 viewer.camera 访问相机,用 setView、flyTo、lookAt、flyToBoundingSphere、viewBoundingSphere 等方法控制视点。

主要能力:setView 单帧瞬时定位,用于初始视图、模式重置与约束设置,destination 可为 Cartesian3 或 Rectangle;flyTo 平滑动画飞行,返回 void,需用 complete 回调串联飞行,支持 duration、maximumHeight、flyOverLongitude;flyToBoundingSphere 与 viewBoundingSphere 让目标保持在画面中,range 为斜距而非高度;lookAt 用 HeadingPitchRange 把相机锁定到目标,必须调用 lookAtTransform(Matrix4.IDENTITY) 释放,否则导航永久失效;lookAtTransform 支持自定义参考系,如 Transforms.eastNorthUpToFixedFrame;moveForward/rotateUp/lookLeft/zoomIn 等提供平移、旋转、环视、缩放控制;ScreenSpaceCameraController 管理默认鼠标触摸输入,可设置 minimumZoomDistance、maximumZoomDistance、maximumTiltAngle,或用 enableRotate、enableZoom、enableInputs 等开关交互。

取景建议:按要素尺度选高度与俯仰角,城市总览约 2000–5000 米、俯仰 -35° 至 -50°;地标特写 500–1500 米、-25° 至 -35°;天际线约 800–1500 米、-10° 至 -20°;大都会 8000–20000 米、-60° 至 -90°。俯仰角避免恰好 -Math.PI/2,用 -(Math.PI / 2 - 0.0001) 防止万向节锁。做地标或城市视角时不要把相机放在目标正上方,应横向偏移并用 lookAt 保持 -10° 至 -45° 俯仰角。地面级视图(低于 200 米)需要 3D Tiles,否则只见天空与平面。

限制:公开或无令牌示例应避免依赖 ion 授权的 Cesium.createOsmBuildingsAsync() 与 Google Photorealistic 3D Tiles;仅用 OpenStreetMap 影像无法把埃菲尔铁塔等地标渲染成可辨认的 3D 主体,需显式添加柱体、盒体、折线或标注等视觉替代物。flyHome 始终为俯视正北视图,无朝向控制;maximumZoomDistance 在 enableCollisionDetection = false 时会被忽略。每段飞行 600 米以上更利于瓦片加载。资料未提供更多接口与版本差异细节。