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是一个配置文件,关于这个模型在地图上的位置等信息

{
    "longitude": 2.0962338569,
    "latitude": 0.6295642397,
    "transHeight":0.0,
    "geometricError":200.0,
    "region": true,
    "box":false,
    "sphere":false
}

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

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

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

var express = require('express')
var app = express()

app.use(express.static('public'))

app.get('/', function (req, res) {
    res.sendFile(__dirname + '\\public' + '\\tileset.json')
})

app.listen(3000, function () {
    console.log('3000')
})
2,还可以通过在Cesium ion中添加本地文件的方式,通过id使用模型:

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

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

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

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

url改成:

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

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐