当前位置: 首页 > news >正文

Cesium 地形教程

地形 ·Terrain· ▶ 在线运行案例

  • 案例合集:三维可视化功能案例(threehub.cn)
  • 开源仓库github地址:https://github.com/z2586300277/three-cesium-examples
  • 400个案例代码:网盘链接

你将学到什么

  • Scene / Camera / Renderer 标准渲染管线搭建
  • 案例完整源码结构与可复用初始化模板

效果说明

本案例演示地形效果:基于 WebGL 实现「地形」可视化效果,附完整可运行源码。建议先打开文首在线案例查看动态画面,再对照下方源码逐步理解。

核心概念

  • Viewer封装地球、相机、图层与 clock;可关闭 animation/timeline 精简 UI。
  • SkyBox 六面图换天空;Water 用法线贴图 + time;地形需 depthTestAgainstTerrain。

实现步骤

  • 创建 Viewer,配置地形/影像(若案例需要)并设置初始相机
  • requestAnimationFrame循环中更新状态并 render(Cesium 为viewer.render或自动渲染)
  • 代码要点

    import * as Cesium from 'cesium'

    // 如果出现地图没加载出地球 可能是多人访问公用token导致的问题,换成你自己的token 就好 Cesium.Ion.defaultAccessToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJjOTVhZGI5Zi0wMTYzLTQ2MWEtYTBjYS02OTc5ZGNkNTY3ZDMiLCJpZCI6NTcwNzEsImlhdCI6MTc2MjQ3OTkyNH0.1bx7V2IFDE_Id5uqrQx-pJvRlzH34NDa2zc8vDY-Y0w"

    const box = document.getElementById('box')

    const viewer = new Cesium.Viewer(box, {

    animation: false,//是否创建动画小器件,左下角仪表

    baseLayerPicker: false,//是否显示图层选择器,右上角图层选择按钮

    fullscreenButton: false,//是否显示全屏按钮,右下角全屏选择按钮

    geocoder: false,//是否显示geocoder小器件,右上角查询按钮

    homeButton: false,//是否显示Home按钮,右上角home按钮

    sceneMode: Cesium.SceneMode.SCENE3D,//初始场景模式

    sceneModePicker: false,//是否显示3D/2D选择器,右上角按钮

    navigationHelpButton: false,//是否显示右上角的帮助按钮

    selectionIndicator: false,//是否显示选取指示器组件

    timeline: false,//是否显示时间轴

    infoBox: false,//是否显示信息框

    scene3DOnly: true,//如果设置为true,则所有几何图形以3D模式绘制以节约GPU资源

    orderIndependentTranslucency: false, //是否启用无序透明

    contextOptions: { webgl: { alpha: true } },

    skyBox: new Cesium.SkyBox({ show: false })

    })

    viewer.scene.sun.show = false

    viewer.scene.moon.show = false

    viewer.scene.skyBox.show = false

    viewer.scene.backgroundColor = new Cesium.Color(0.0, 0.0, 0.0, 0.0)

    viewer._cesiumWidget._creditContainer.style.display = "none"

    // 加载地形 // viewer.terrainProvider = await Cesium.CesiumTerrainProvider.fromIonAssetId(3957, {

    // requestWaterMask: true,

    // requestVertexNormals: true

    // })

    viewer.terrainProvider = await Cesium.createWorldTerrainAsync({

    requestWaterMask: true,

    requestVertexNormals: true

    })

    完整源码:GitHub

    小结

    • 本文提供地形完整 Cesium.js 源码与在线 Demo,建议先运行案例再改 uniform/参数做二次实验
    • 更多 Cesium.js 实战案例见 three-cesium-examples 合集 与 GitHub 开源仓库
http://www.jsqmd.com/news/1067781/

相关文章:

  • 网易云音乐无损下载终极指南:3步永久保存你的歌单
  • 推荐信AI写作指南:如何快速为不同教授量身定制RL?
  • 日常中的小家电设备如何能够精准向适配器索要电源呢
  • AI Agent 出问题时,不要只看最终回答:一次请求级调试的思路
  • 数据看板设计:如何从“能看”变成“好用”
  • CNC编程效率低?麟思数控10秒出程序解困
  • 博尔塔拉黄金白银回收铂金旧金回收无套路门店 TOP 榜单 实地测评资料整理
  • Windows任务栏透明化:为什么传统方案失效而TranslucentTB能成功?
  • 苏州晟雅泰电子:关于车规级DS90UB941ASRTDRQ1的核心功能与参数
  • TRAC-seq:tRNA m7G修饰测序你与最前沿的m7G研究,只差一个TRAC-seq
  • 为什么选择biliTickerBuy:5个让你轻松搞定B站购票的核心功能
  • 算力付费的必然性:从通用幻觉到专业精准的范式升级
  • 我用 Python + AI 做了一套 SEO 优化工具:从关键词挖掘到排名监控,流量翻倍的秘密
  • 在 AMD 显卡上部署 SGLang 推理服务,配置细节全记录
  • 维护开源项目时,如何把一条 Issue 回复写清楚
  • 一文搞懂:常用设计模式实战——AI生成代码时代,设计模式为什么是开发者的“终极护城河”?
  • 萨科微slkor6月18日每日芯闻,国际芯闻:
  • 基于800V直流架构的数据中心微电网技术经济评估
  • 如何快速搭建跨平台游戏串流服务器:Sunshine终极配置指南
  • 基于“端-边-云”架构的工业互联网组建与运维实战(附避坑指南)
  • AI Shell对话OBS,存储管理“说”着搞定
  • Vulkan 还是 ROCm,AMD 显卡跑大模型的后端之争终结篇
  • 终极指南:三步免费解锁WeMod专业版功能 - Wand-Enhancer完整教程
  • 3分钟掌握ViGEmBus:让你的电脑秒变游戏手柄工厂 [特殊字符]
  • AMD Ryzen调试神器SMU Debug Tool:释放CPU潜能的终极指南
  • 工业级检索“新宠”SPLADE:原理拆解与落地实践
  • 六大开源商城系统技术架构与功能对比分析
  • UUV_AUV六自由度模型(运动学+动力学+扰动)(Matlab代码实现)
  • MASLD模型中如何实现肝细胞特异性过表达?
  • 企业平台开发助手,kimi-k2.7-code 编写数据处理脚本,DMXAPI提供300款优质大模型API