this._root相关的函数放到
tileset.readyPromise.then(function () {
...
});
函数中调用试试
看看cesium对单个GLTF文件有没有做动态调度……
1最简单的优化方法---把gltf转成glb
2 把glb分成多个小的glb---前提是cesium对单个glb做了动态调度---理论是动态调度的---但调度效果取决于你glb模型的范围---
3 直接上3DTile
最后 就是 整个好点的GPU
自定义一个camera设为 ShadowMap的_lightCamera,然后把fromLightSource设为false,用ShadowMap的_shadowMapTexture?
假设 OBJ模型种一个点P-xyz 对应的经纬度是P-blh,先把模型中所有坐标减去P-xyz;用Cesium.Transforms.eastNorthUpToFixedFrame(origin, ellipsoid, result) ---origin 是用P-blh转成Cartesian3;3DTile的矩阵设成这个result就行……
promise获取到之后,使用回调函数,promise.then(function(dataSource){dataSource.entities.getById('模型的ID');}; 就可以获取到模型 不需要遍历