WebGL 在加载BIM的S3M缓存模型时,某个位置上的模型一直无法加载出来,请问这是什么原因呢?在iDesktop上显示是没问题的。
iDesktop:
webgl
您好,您第一张图中红框部分和左边的相同类型的模型是同一图层吗?图中箭头所指部分如果是同一个图层,您单独加载这个图层有问题吗? 如果不是一个图层,那么这个图层就没有被加载进来。您看一下在idesktop中加载这个缓存有没有问题,因为您图中我看不出来加载的是模型还是缓存
window.onload = function (event) { var HzsDyrmyyRegionPoints = [] var viewer = new Cesium.Viewer('app') var s3mServerUrl = 'http://172.100.100.200:8092/iserver/services/3D-test1/rest/realspace' //获取3维服务的异步请求对象promise let scene = viewer.scene; scene.globe.undergroundMode = true; scene.globe.globeAlpha = 0.5; scene.open(s3mServerUrl); //打开iserver场景服务下所有图层 var positions = []; for (let point of HzsDyrmyyRegionPoints) { positions.push(point.x); positions.push(point.y); positions.push(point.z); } scene.globe.addExcavationRegion({ name: "hzsdyrmyy", position: positions, height: 10000, transparent: false }); }
以上是我的代码。
我用了你的代码,好像没有达到你截图出来的效果啊
浏览器也是:chrome版本 74.0.3729.169(正式版本) (64 位)
显卡也是GTX1060 6G。但是那个模型还是不出来
您可以看下我们官网的API 地址:http://support.supermap.com.cn:8090/webgl/Build/Documentation/S3MTilesLayer.html?classFilter=s3m
这里面有个position属性可以设置高度
后面通过style3D完成设置了。
let style3D = new Cesium.Style3D(); //设置底部高程。 style3D.bottomAltitude = 3.1499; layer.style3D = style3D; //设置后需刷新图层 layer.refresh();
但是要通过增加高度来显示模型,感觉不是很合理额。有没有其他什么解决方法呢