cesium加载S3M白膜,通过分层设色实现渐变效果,设置点光源
var hyp = null;
var layer = null;
//加载白膜
function fnOpenSCENE() {var promise = scene.open('http://www.supermapol.com/realspace/services/3D-CBDbuilding/rest/realspace');Cesium.when.all(promise, function () {//切换视角至模型位置scene.camera.setView({"destination": { "x": -2184052.8561826544, "y": 4388517.457033638, "z": 4070341.9478602377 },"orientation": { "pitch": -0.8394038119311453, "heading": 6.247957622130757, "roll": 0.00001267923949921368 }});layer = scene.layers.find("ExtrudeBodyResult@CBD");hyp = new Cesium.HypsometricSetting();setHypsometric(layer);//渐变效果// switchLight();//点光源});
}
渐变效果
function setHypsometric(layer) {//创建分层设色对象 var colorTable = new Cesium.ColorTable();//设置最大/最小可见高度, 颜色表 colorTable.insert(0, new Cesium.Color(0, 39 / 255, 148 / 255));colorTable.insert(150, new Cesium.Color(149 / 255, 232 / 255, 249 / 255));hyp.ColorTable = colorTable;hyp.Opacity = 0.8;//透明度hyp.LineInterval = 10.0;//线宽layer.hypsometricSetting = {hypsometricSetting: hyp,analysisMode: Cesium.HypsometricSettingEnum.AnalysisRegionMode.ARM_ALL //显示模式}
};
点光源
var directionalLight, directionalLight_1, directionalLight_2, directionalLight_3, directionalLight_4, pointLight7;
function switchLight() {//设置环境光(白天)scene.lightSource.ambientLightColor = new Cesium.Color(0, 0, 0, 1);//开启HDRviewer.scene.hdrEnabled = true;// 指定范围var pointLightPos7 = new Cesium.Cartesian3.fromDegrees(116.45775058552576, 39.91295039170964, 300);var pointLightOptions7 = {cutoffDistance: 1000,//点光源的扩散距离color: new Cesium.Color(1, 0, 0, 1),intensity: 2.5 //点光源强度};pointLight7 && scene.removeLightSource(pointLight7)pointLight7 = new Cesium.PointLight(pointLightPos7, pointLightOptions7);scene.addLightSource(pointLight7);// 新增直射光--西北侧光// var position = new Cesium.Cartesian3.fromDegrees(106.282013734667, 29.7615756638933, 630);// var targetPosition = new Cesium.Cartesian3.fromDegrees(106.756840202248, 29.3980661015228, 500);// var dirLightOptions = {// targetPosition: targetPosition,// color: new Cesium.Color(0, 0, 1, 1),//蓝色// intensity: 2// };// directionalLight && scene.removeLightSource(directionalLight)// directionalLight = new Cesium.DirectionalLight(position, dirLightOptions);// scene.addLightSource(directionalLight);// 新增直射光1--东南侧光// var position1 = new Cesium.Cartesian3.fromDegrees(106.756840202248, 29.3980661015228, 500);// var targetPosition1 = new Cesium.Cartesian3.fromDegrees(106.282013734667, 29.7615756638933, 630);// var dirLightOptions1 = {// targetPosition: targetPosition1,// color: new Cesium.Color(1, 0, 0, 1),//红色// intensity: 2// };// directionalLight_1 && scene.removeLightSource(directionalLight_1)// directionalLight_1 = new Cesium.DirectionalLight(position1, dirLightOptions1);// scene.addLightSource(directionalLight_1);// 新增直射光2--东北侧光// var position2 = new Cesium.Cartesian3.fromDegrees(106.437, 29.571, 71);// var targetPosition2 = new Cesium.Cartesian3.fromDegrees(106.436, 29.569, 1);// var dirLightOptions2 = {// targetPosition: targetPosition2,// color: new Cesium.Color(0, 1, 0, 1),//绿色// intensity: 2// };// directionalLight_2 && scene.removeLightSource(directionalLight_2)// directionalLight_2 = new Cesium.DirectionalLight(position2, dirLightOptions2);// scene.addLightSource(directionalLight_2); // 新增直射光3--西南侧光// var position3 = new Cesium.Cartesian3.fromDegrees(106.452, 29.573, 1);// var targetPosition3 = new Cesium.Cartesian3.fromDegrees(106.454, 29.581, 91);// var dirLightOptions3 = {// targetPosition: targetPosition3,// color: new Cesium.Color(1, 0, 1, 1),//紫色// intensity: 2// };// directionalLight_3 && scene.removeLightSource(directionalLight_3)// directionalLight_3 = new Cesium.DirectionalLight(position3, dirLightOptions3);// scene.addLightSource(directionalLight_3);// 新增直射光4--顶光+正面光// var position4 = new Cesium.Cartesian3.fromDegrees(106.492, 29.593, 100);// var targetPosition4 = new Cesium.Cartesian3.fromDegrees(106.492, 29.593, 10);// var dirLightOptions4 = {// targetPosition: targetPosition4,// color: new Cesium.Color(1, 1, 0, 1),//黄色// intensity: 2// };// directionalLight_4 && scene.removeLightSource(directionalLight_4)// directionalLight_4 = new Cesium.DirectionalLight(position4, dirLightOptions4);// scene.addLightSource(directionalLight_4);
}
cesium加载S3M白膜,通过分层设色实现渐变效果,设置点光源相关推荐
- Cesium加载entities实体,包括文字标注,图标(动态缩放效果),线(尾迹线效果),面(动态闪烁效果),背景图,围栏(立体分层效果),渐变色圆柱,扇形图等
加载图标和文字标注 addPoints(data) {if (data && data.length > 0) {let datasource = map_common_addD ...
- QGIS离线GeoJSON数据,使用Cesium加载并根据楼层高度拉伸(weixin公众号【图说GIS】)
前言 往往好多事情是需求推动的,正好一个网友在群里问到"怎么让Cesium加载GeoJSON的白膜并贴在地形上?",联系到他,要了他的数据,完成了代码并测试通过.正好出差,而且一个 ...
- Cesium加载大数据量地下管线
Cesium加载大数据量地下管线 Cesium优化加载 管线加载 管井.摄像头.交通信号灯等模型加载 与倾斜摄影模型结合加载 Cesium优化加载 管线.管井.路灯.交通信号灯.接电箱等模型使用Pri ...
- Cesium 加载 离线的天地图影像瓦片
Cesium 加载 离线的天地图影像瓦片 一.下载 天地图影像 通过水经注软件下载天地图影像(也许有其他下载方式). 1.下载 水经注软件 链接:http://www.rivermap.cn/down ...
- 初次转化max模型为3D Tiles失败、cesium加载一个obj格式的3D 机房模型
先下一个3D max模型,后缀为.max:用3D max打开:网上下的其他模型查看器不能打开: 打开时会出错误提示:对max模型文件和3d max还不了解: 打开后如下:是一个机房的3D模型: 下载一 ...
- 首次使用Cesium加载3D数据不成功
接此: https://blog.csdn.net/bcbobo21cn/article/details/110454547 参阅相关教程:Cesium加载3D数据是通过3D Tiles进行: 3D ...
- html加载时页面闪烁白色背景,解决页面加载闪白问题-背景图片加载优化
页面加载闪白 今天遇到一个问题,写了一个使用深色背景图的网页,发现访问/刷新时,会出现短暂的闪白现象. 之前使用浅色背景时没有发现过这个问题,搜索半天也没有找到特别直白有效的回答. 找到的几个答案,有 ...
- cesium 加载网格
cesium 加载网格 // -------------------------------------- ---------------------------------加载网格--------- ...
- cesium加载 gltf模型
cesium加载 gltf模型 首先自己配置一个iis环境 :http://www.xitongcheng.com/jiaocheng/win10_article_60912.html,其他环境 比如 ...
- cesium 加载科技感
cesium 加载模型上边的呼吸感 // 设置透明度var alp = 1;var num = 0; 在model里边添加这个color参数 color:new Cesium.CallbackProp ...
最新文章
- Google Gflags使用
- Android时钟的widget
- C++实现N选R的实现算法(附完整源码)
- ajax加载对应的json,jQuery:多个AJAX/JSON请求对应单个回调并行加载
- 五步法建设你的数据中台
- Python3 输入和输出(一)
- LPC11XX驱动LCD1602程序
- 局域网SDN技术硬核内幕 三 从物到人——SDN走进园区网络
- Zemax操作--7(坐标断点)
- 关于C语言中数组输入与打印
- 安全学习木马查杀打卡第二十一天
- 如何使用SIGFOX技术连接物联网?
- IPAD USB 充电程序
- openwrt 防火墙
- 赌你无法坚持看完的nginx配置文件解析
- 日语二级语法汇总(part4/16)
- c语言 类void 方法 字节大小,C 语言数据类型
- 雅诗兰黛将在华投建世界级创新研发中心;霍尼韦尔特性材料和技术集团与七家企业在进博会签约 | 美通企业日报...
- 互联网架构(一)总体架构设计
- wine安装RTX、QQ、飞信