一、需求
用户自定义修改过的gltf或者3dtiles文件存在自定义数据写在了gltf的Json中,但是由于Cesium的封装,这部分数据在模型加载之后直接给清理掉了,使得模型加载后要访问Json中数据来做处理将不可能,因此需要在清理之前将数据重新抓取公布出来。
二、怎么做
1.简单粗暴,将标识需要清理的变量设置为false即可不清理:
releaseGltfJson = false;
如果这里设置为false,那么对应的这个位置的清理将不进行:
async function loadResources5(loader, frameState) {
...
if (defined_default(loader._gltfJsonLoader) && loader._releaseGltfJson) {
ResourceCache_default.unload(loader._gltfJsonLoader);
loader._gltfJsonLoader = void 0;
}
return promise;
}
那么之后就可以从这个gltfJsonLoader中继续获取我们需要的数据;
2.在释放之前将信息取出来单独存储
具体存储在哪里就看大家自己安排了。