Cesium 天空盒教程
天空盒 ·Sky Box· ▶ 在线运行案例案例合集三维可视化功能案例threehub.cn开源仓库github地址https://github.com/z2586300277/three-cesium-examples400个案例代码:网盘链接你将学到什么scene.skyBox替换默认渐变天空立方体贴图六面命名positiveX / negativeX …UrlTemplateImageryProvider加载 XYZ 瓦片底图效果说明使用高德卫星影像作底图天空换成自定义六面 PNG形成「地面实景 定制天空」的视觉效果。核心概念SkyBoxviewer.scene.skyBox new Cesium.SkyBox({sources: { positiveX: px.png, // 右 (X) negativeX: nx.png, // 左 (-X) positiveY: py.png, // 前 (Y) — 注意与 Three.js 轴向可能不同 negativeY: ny.png, // 后 (-Y) positiveZ: pz.png, // 上 (Z) negativeZ: nz.png, // 下 (-Z) } });本案例注释说明了贴图轴与 Cesium 期望面的映射关系px/nx/py 等需按实际摄影机朝向调整。关闭默认底图const viewer new Cesium.Viewer(box, { baseLayer: false });viewer.imageryLayers.addImageryProvider( new Cesium.UrlTemplateImageryProvider({ url: https://.../{z}/{x}/{y}, maximumLevel: 18, }) );实现步骤Viewer 设baseLayer: false手动 add 影像准备 6 张无缝立方体贴图new Cesium.SkyBox({ sources })赋给scene.skyBox若天空方向不对交换 positiveY/negativeY 等面代码要点import * as Cesium from cesiumconst box document.getElementById(box)const viewer new Cesium.Viewer(box, {animation: false,//是否创建动画小器件左下角仪表baseLayerPicker: false,//是否显示图层选择器右上角图层选择按钮baseLayer: false, // 不显示默认图层fullscreenButton: false,//是否显示全屏按钮右下角全屏选择按钮timeline: false,//是否显示时间轴infoBox: false,//是否显示信息框}) viewer.imageryLayers.addImageryProvider(new Cesium.UrlTemplateImageryProvider({//高德卫星影像 url: https://webst03.is.autonavi.com/appmaptile?style6x{x}y{y}z{z},maximumLevel: 18}))// px -90, nx 90, py 0, ny 180, pz 0, nz 180 viewer.scene.skyBox new Cesium.SkyBox({ sources: { positiveX: FILE_HOST files/cesiumSky/px.png, // 右面 negativeX: FILE_HOST files/cesiumSky/nx.png, // 左面 positiveY: FILE_HOST files/cesiumSky/pz.png, // 将前面用作上面 negativeY: FILE_HOST files/cesiumSky/nz.png, // 将后面用作下面 positiveZ: FILE_HOST files/cesiumSky/py.png, // 将上面用作前面 negativeZ: FILE_HOST files/cesiumSky/ny.png // 将下面用作后面 } });完整源码GitHub小结本文提供天空盒完整 Cesium.js 源码与在线 Demo建议先运行案例再改 uniform/参数做二次实验更多 Cesium.js 实战案例见 three-cesium-examples 合集 与 GitHub 开源仓库

相关新闻