3dtiles格式_使用Cesium加载并调整3D Tiles

首先我们先来感受一下实现之后的效果:

知乎视频​www.zhihu.com

3dtiles简介

3D Tiles是用于流式传输大规模异构3D地理空间数据集的开放规范。为了扩展Cesium的地形和图像流,3D Tiles将用于流式传输3D内容,包括建筑物,树木,点云和矢量数据。

3D Tiles是目前大火的开源WebGL框架Cesium的御用格式。根据实际体验,3D Tiles和二维地图中的瓦片组织非常相似,在网络中查看3D模型的话,3D Tiles的效果还是很不错的,下面我们就来学习一下如何使用vue框架实现cesium加载3dtiles,以及实现对3dtiles的调整组件。

cesium加载3dtiles

cesium加载3dtiles非常简单,调用primitiveadd方法即可将3dtiles加载到数字地球上了,代码如下:

var tilesetModel = new Cesium.Cesium3DTileset({
    
      url: "./大桥7/tileset.json"
    });
viewer.scene.primitives.add(tilesetModel);

看一下效果图:

2b9857d79f0e4b87981a166be36f7839.png

需要注意的是:
1. 3dtiles文件生成时本身就具有位置和高度(此模型是使用BimAngle转换)
2. 由于生成3dtiles文件时使用的底图和地形和cesium加载的可能不同,再加上人工调整模型位置具有一定的偏差,所以3dtiles模型加载到数字地球上之后,可能需要再次调整位置,所以最好有前端调整工具去进行模型位置的调整,下文会实现这一功能

调整3dtiles位置,包括平移、旋转、缩放、地下可视化

调整3dtiles基本思路为:
1. 设置3dtiles贴地形放置以及初始位置
2. 前端设置input range组件,方便模型的调整

第一步"设置初始位置

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Cesium加载本地的3D Tiles,你可以使用以下方法: 1. 首先,创建一个Cesium的Viewer对象,并将其绑定到HTML中的一个div容器上,用于显示地图。例如: ```javascript const viewer = new Cesium.Viewer("cesiumContainer"); ``` 2. 然后,创建一个Cesium3DTileset对象,并将其添加到场景的图元组中。你可以使用相对路径或绝对路径指定数据的来源。例如: ```javascript const tileset = viewer.scene.primitives.add( new Cesium.Cesium3DTileset({ url: 'modeldata/3Dtilesdata' // 使用相对路径指定数据来源 // 或者使用绝对路径指定数据来源 // url: 'http://example.com/modeldata/3Dtilesdata' }) ); ``` 3. 最后,你可以根据需要对加载3D Tiles进行进一步的操作,比如缩放视图、设置样式等。例如: ```javascript (async () => { try { await tileset.readyPromise; await viewer.zoomTo(tileset); // 设置默认样式 tileset.style = new Cesium.Cesium3DTileStyle({ // 样式的具体设置 }); } catch (error) { console.log(error); } })(); ``` 请注意,以上代码只是一个示例,你需要根据你的实际情况进行相应的修改和调整。同时,确保你的本地3D Tiles数据的路径和文件名是正确的。 希望对你有所帮助! #### 引用[.reference_title] - *1* *2* *3* [【CesiumCesium加载3DTiles与问题总结(JS)](https://blog.csdn.net/m0_47420894/article/details/123718739)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值