抽空将之前的功能单独抽出来写成一个模块,方便单独调用,配合单个模块写了一些示例
可以兼容各个基于cesium底层库的三方框架,引入即可。
效果
模型光源模拟

动态泛光墙

泛光面

城市泛光线


建筑物调整

其他示例
三维效果和功能

使用
// 在引入的cesiumJS下面引入d3kit插件
<script src="http://zhangticcc.gitee.io/d3kit/d3kit.js"></script>
<script>
// 初始化 Cesium.Viewer
let viewer = new Cesium.Viewer("d3map");
// 初始化 d3kit
let d3kit = new Cesium.D3Kit(viewer)
// 泛光场景配置 建筑物材质发光
d3kit.setDefSceneConfig()
d3kit.setBloomLightScene()
// 自定义纹理材质
let MaterialLineImage = [
'data/images/Textures/ArrowOpacity.png',
'data/images/Textures/ArrowTransparent.png',
'data/images/Textures/DataTransLine.png',
'data/images/Textures/DotTransparent.png',
'data/images/Textures/LinkPulse.png',
'data/images/Textures/meteor_01.png',
'data/images/Textures/Trail.png',
'data/images/Textures/Trail1.png',
]
// color
let colors = [
new Cesium.Color(77 / 255, 201 / 255, 255 / 255, 1),
new Cesium.Color(255 / 255, 201 / 255, 38 / 255, 1),
new Cesium.Color(221 / 255, 221 / 255, 221 / 255, 1)
];
let getCustomMaterialLine = (image, color) => {
return d3kit.getCustomMaterialLine({
image: image,
color: color,
duration: 2000
})
}
// 创建动态线
let startPoint = Cesium.Cartesian3.fromDegrees(104.081701757991, 30.627042558105988)
for (let i = 0, len = 8; i < len; i++) {
let endPoint = Cesium.Cartesian3.fromDegrees((Math.random() / 100) +
104.081701757991, (Math.random() / 100) + 30.627042558105988);
let positions = d3kit.getLinkedPointList(startPoint, endPoint, 100000, 50);
let glowingLine = viewer.entities.add({
polyline: {
positions: positions,
width: 5,
material: getCustomMaterialLine(MaterialLineImage[i], colors[i % 3]),
}
});
}
</script>开源地址:github
查看在线效果:传送门
基于cesium拓展效果:传送门2
版权声明:本文为weixin_40902527原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。