尧图精选

Cesium三维地下空间可视化指南:5分钟看透地球

🕒 发布时间:2026/9/11 9:05:15 📁 来源:尧图网络
Cesium三维地下空间可视化指南5分钟看透地球【免费下载链接】cesiumAn open-source JavaScript library for world-class 3D globes and maps :earth_americas:项目地址: https://gitcode.com/GitHub_Trending/ce/cesiumCesium 是一款开源 JavaScript 三维地球渲染引擎用 WebGL 让地下空间可视化直接在浏览器里运行地表透明化、相机潜入地球内部、展示矿井管线等结构。照下面的做法30 分钟就能搭出一个地质剖面演示。为什么“看透地球”不容易想在浏览器里展示地表之下的管线、矿井或地质分层最先遇到的问题是地表会一直“挡住”视线不透明的地球就像一层撕不掉的外皮。二维地图表达不了纵深通用三维引擎又没有真实地球坐标系模型放得进去空间感却出不来。核心能力速览地表透明化通过globe.translucency控制地球整体或局部区域的透明度把地表“揭开”露出地下内容地下相机漫游一行代码关闭地形碰撞检测相机可以直接潜进地球内部地下结构建模椭球等基本图元就能搭分层结构精细的设施模型可导入 glTF/GLB地下环境控制undergroundColor与fog.density分别控制地下背景色和雾的浓度营造纵深感3D Tiles 流式加载海量地下数据按距离分块加载不会把浏览器卡死最小可运行示例三步得到透明地球地下空间可视化的起点就是让地表变透明先关碰撞再开透明化。const viewer new Cesium.Viewer(cesiumContainer, { orderIndependentTranslucency: false }); const scene viewer.scene; scene.screenSpaceCameraController.enableCollisionDetection false; scene.globe.translucency.enabled true; scene.globe.translucency.frontFaceAlpha 0.25;跑完这段代码地球表面会变成 25% 的透明度鼠标直接拖进地表也不会被弹回来。不想自己搭页面的话先把仓库拉下来git clone https://gitcode.com/GitHub_Trending/ce/cesium cd cesium npm install然后按 README.md 的说明启动项目打开 globe-interior 示例你会看到一个可以切换内核、外核、地幔的完整演示。进阶玩法与组合技巧区域透明掩码的三步设置不想让整片地表都透明可以用rectangle只在指定区域“开个窗口”scene.globe.translucency.rectangle Cesium.Rectangle.fromDegrees( -120.0, 0.0, -30.0, 45.0 );效果是地表出现一块半透明的矩形区域地下模型只在这个范围内被“看见”。用椭球体搭建分层内核结构经典地质剖面的做法是三层嵌套椭球都放在地心坐标原点viewer.entities.add({ position: Cesium.Cartesian3.ZERO, ellipsoid: { radii: new Cesium.Cartesian3(1250000, 1250000, 1250000), material: Cesium.Color.YELLOW } });把 radii 依次改成 3450000 和 6300000、material 换成 ORANGE 与 RED就叠出了外核和地幔。调雾效与地下颜色增强纵深感scene.globe.undergroundColor Cesium.Color.BLACK; scene.fog.density 0.0012;地下背景会变暗、远处更朦胧空间层次感立刻出来效果不明显时可以继续加大 density默认 0.0006。如果地下设施是大规模 3D Tiles 数据引擎会按相机距离分块流式加载可以先在 gallery 的 3D Tiles 示例里感受一下性能表现常见误区与调试思路透明设置不生效→ 先确认translucency.enabled true是否已设置frontFaceAlpha等参数只有开启后才生效且取值必须在 0-1 之间相机钻不进地下、总被弹回→ 碰撞检测默认开启用enableCollisionDetection false关掉想限制最小深度可以在postUpdate里读取当前高度把相机拉回地下模型看不见或地表仍然遮挡→ 先关掉globe.showGroundAtmosphere如果画面整体被一层颜色盖住把globe.undergroundColor设为undefined即可禁用地下着色延伸资源官方文档Documentation/ — 模块文档与贡献者指南含性能测试和测试指南地球内部示例packages/sandcastle/gallery/globe-interior/ — 内核/外核/地幔与地表透明化的完整演示距离渐变示例packages/sandcastle/gallery/globe-translucency/ — 地表透明度随距离渐变带真实矿井模型地下颜色示例packages/sandcastle/gallery/underground-color/ — 试用不同的 undergroundColor 取值透明化源码packages/engine/Source/Scene/GlobeTranslucency.js — 透明化对象的完整属性定义地球源码packages/engine/Source/Scene/Globe.js — undergroundColor 等属性所在位置社区在项目 Issue 与讨论区按underground或translucency关键词搜索能找到相关问题的最新讨论【免费下载链接】cesiumAn open-source JavaScript library for world-class 3D globes and maps :earth_americas:项目地址: https://gitcode.com/GitHub_Trending/ce/cesium创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
上一篇/下一篇内容由系统自动关联 返回资讯列表 →