Cesium高级技巧一
1.泛光特效
通过参考文章4,我陆续找到了各种特效的展示方式。
1.[cesium]基于cesium城市效果示例 (这是一个个人博客,感觉写的很好,至少比我好多了)
2.动态线效果 (这是一个城市动态线的效果,还包括了好多的其他的动态效果)
3.三维功能、超图相关、数据可视化(集成开源插件) (等等各种三维特效的显示)
4.[cesium] 基于Cesium的动态泛光效果示例 (我从这篇文章开始,发现了博主真的是一个三维的高手啊,从此发现了上面的各个效果和示例)
5.cesium着色器学习系列7- PostProcessStage渲染 后处理,以圆形扩散为例
6.cesium实现线圈发光效果
2.粒子系统
1.Cesium雨雪雾天气效果 主要使用的是着色器实现的
3.行政区拉伸
这个效果其实就是说把行政区抬升,比周围高的效果。
1.Cesium实现更实用的3D描边效果(附源码)
2.展示城市行政区划信息 数据转换:1.在线转换(个人推荐):
https://mapshaper.org/
;2.工具软件转换:QGIS 等专业GIS软件;3.编码实现:使用 geotools 等开发库。3.Cesium之3D拉伸显示行政区
4.mvt
cesium加载pbf数据,读取并通过mapbox-streets-v6-style.js进行数据可视化的渲染
5.反转遮罩
这里的主要需求可以描述为,显示一个行政区,行政区外的内容都是较暗的,只有行政区内的地图是清晰的。主要方案就是使用带洞多边形的形式实现的,这里我用了阿里云的范围线进行了一个挖洞处理。
1 | // 区域掩膜 |
但是这种方案也还是存在问题:就是当你遮罩层的覆盖范围过大,或者是不合理的时候,就会出现遮罩层问题,比如覆盖不全,或者是出现空白地方。
1.Cesium实现地图反选遮罩 这里也是使用了 Cesium.Cartesian3.fromDegreesArray([100, 0, 100, 89, 150, 89, 150, 0,]) 这个范围。
2.Cesium地图反遮罩 这个是主要的参考文章,上面的代码就是,它这里的代码主要就是 x,y,z 的形式进行的。
3.cesium点线面贴地 使用的是点线面的 classificationType: ClassificationType.TERRAIN 属性。
4.cesium设置entity实体贴地 billboard的设置,heightReference: Cesium.HeightReference.CLAMP_TO_GROUND //设置HeightReference高度参考类型为CLAMP_TO_GROUND贴地类型
5.Cesium实现全球遮罩 这里使用了一个word.json数据进行了全球的图层绘制,使用到了 clampToGround: true 贴地属性,还有 classificationType 属性
6.cesium绘制反选遮罩层 Cesium.Cartesian3.fromDegreesArray([100, 0, 100, 89, 150, 89, 150, 0]) 绘制的区域太大容易卡顿
6.后期处理
1.Cesium开发高级篇 | 05场景后期处理 这篇文章的后期处理说的比较详细,基本上看完一遍之后,就有一个大概的样子了。
2.Cesium源码剖析—Post Processing之物体描边(Silhouette)
7.显示网格
1. cesium控制及效果(一):显示瓦片编号和网格