当前位置:   article > 正文

Cesium地图上加载3DTiles模型_cesium 加载本地未发布的3dtiles文件

cesium 加载本地未发布的3dtiles文件

1,使用Blender创建模型:

官网下载Blender:https://www.blender.org/,在Github上下载Building Tools插件,通过编辑-偏好设置-插件-安装,导入压缩包使用,这个可以自己创建小房子,文件-导出为obj格式

2,将.obj转成3dtiles格式:

1,第一种方法通过加载本地文件展示:
1,github下载ObjTo3d-tiles包,使用
obj23dtiles -i demo房子.obj -p options.json --tileset

其中的options是一个配置文件,关于这个模型在地图上的位置等信息

  1. {
  2. "longitude": 2.0962338569,
  3. "latitude": 0.6295642397,
  4. "transHeight":0.0,
  5. "geometricError":200.0,
  6. "region": true,
  7. "box":false,
  8. "sphere":false
  9. }

会生成两个文件.b3dm和目标json文件

2,Cesium使用3dtiles:
  1. let tile = viewer.scene.primitives.add(
  2. new Cesium.Cesium3DTileset({
  3. url: "http://localhost:3000"
  4. })
  5. )

这个url可以写文件的位置,但是我这里直接使用会出现404,就写了一个代理:

  1. var express = require('express')
  2. var app = express()
  3. app.use(express.static('public'))
  4. app.get('/', function (req, res) {
  5. res.sendFile(__dirname + '\\public' + '\\tileset.json')
  6. })
  7. app.listen(3000, function () {
  8. console.log('3000')
  9. })
2,还可以通过在Cesium ion中添加本地文件的方式,通过id使用模型:

add本地.obj,选择文件上传

完成后右侧会提示没有配置地图的相关信息,点击这个提示去配置

选择底图类型,三维还是水平

最后通过点击或者使用经纬度进行定点并设置大小,保存就可以了:

url改成:

url : Cesium.IonResource.fromAssetId(模型ID)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/148144
推荐阅读
相关标签
  

闽ICP备14008679号