3d Tiles
针对 Cesium 1.104+ 版本,3D Tiles 的 API 经历了从new Cesium3DTileset()到Cesium3DTileset.fromUrl()的重大重构。以下是基于最新标准的核心 API 手册。一、加载方式:弃用 new,拥抱 fromUrl⚠️ 旧版写法(Cesium 1.104 或已弃用)// ❌ 已废弃,新版中 readyPromise 可能不存在consttileset=newCesium.Cesium3DTileset({url:'./tileset.json'});viewer.scene.primitives.add(tileset);tileset.readyPromise.then(()={viewer.zoomTo(tileset);});✅ 新版标准写法(Cesium 1.107+)// 使用 async/await(推荐)try{consttileset=awaitCesium.Cesium3DTileset.fromUrl('./tileset.json',{maximumScreenSpaceError:16,});viewer.scene.primitives.add(tileset);awaitviewer.zoomTo(tileset);// 直接 await zoomTo}catch(error){console.error('加载失败:',error);}// 使用 Promise.thenCesium.Cesium3DTileset.fromUrl('./tileset.json').then(tileset={viewer.scene.primitives.add(tileset);returnviewer.zoomTo(tileset);}).catch(console.error);关键变更:fromUrl直接返回一个 Promise,无需再等待readyPromise,加载与定位一体化。二、核心构造参数(Cesium3DTilesetOptions)这是控制性能与行为的核心开关,需根据数据量(10万级点云 vs 城市模型)调整。参数类型默认值作用点云优化建议urlstring-tileset.json 路径必填maximumScreenSpaceErrornumber16LOD 精度:值越小越精细,越卡点云建议 8-32,建筑建议 2-4maximumMemoryUsagenumber512内存上限 (MB)10万级点云可设为 256maximumNumberOfLoadedTilesnumber-同时加载瓦片数上限移动端建议 100-200skipLevelOfDetailbooleanfalse性能:跳过中间 LOD点云强烈建议 trueskipScreenSpaceErrorFactornumber-跳级因子配合 skipLOD 使用,通常 4-16cullWithChildrenBoundsbooleantrue使用子包围盒剔除保持 truecullRequestsWhileMovingbooleantrue移动时不请求新瓦片保持 true 提升交互流畅度modelMatrixMatrix4-模型矩阵(用于坐标变换)纠正模型位置时使用pointCloudShadingobject-点云专属着色配置见下文“点云专属配置”三、点云专属配置(pointCloudShading)针对pnts格式,必须配置此对象以优化视觉表现。consttileset=awaitCesium.Cesium3DTileset.fromUrl('./pointcloud.pnts/tileset.json',{// ... 其他通用参数pointCloudShading:{attenuation:true,// 启用距离衰减(近大远小)geometricErrorScale:0.5,// 几何误差缩放因子maximumAttenuation:4,// 最大衰减距离baseResolution:0.1
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2565966.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!