cesium 学习笔记(三) 在地图上放置3D建筑模型

Cesium的学习搁置了两天,今天准备来研究一下在地图上放置3D建筑模型。

为什么要加载3D建筑模型呢?当然是因为项目没有数据啦!对于有条件倾斜摄影无人机建模,或者谷歌地球上直接有模型的,就不用这么苦恼啦~

纠结了很久,我还是决定现阶段先用效率极低的办法——建模+导入。

因为目前只是需要一个大概的建筑环境,而不需要逼真详细的三维模型,所以先使用SketchUp参考卫星图和全景图进行建模或是修改模型库里的模型,然后放置在地图上。后续希望可以摸索一下批量化的加载。

一、准备阶段

    1、准备模型

    首先在SketchUp吧或者论坛去下载最新版本的SketchUp【建模工具】,以及一些可以用的模型,导出为dae格式。(用3Dmax导出也可以哒)

    2、格式转换

    在github上下载格式转换工具collada2gltf https://github.com/KhronosGroup/glTF/releases
    我也上传了一份方便大家下载(毕竟github经常被墙或者打开很慢~)
-f表示dae文件的完成路径,collada2gltf支持两种转换方式,-e及-o,-e转换后只生成一个文件(gltf文件),在模型比较大时我们可将模型与纹理贴图分开加载,这时可用-o命令进行转换,转换后会生成.gltf、.bin及.glsl三种格式的文件

   【gltf模型转换工具下载地址】http://download.youkuaiyun.com/download/zlx312/10032125

    下载成功后解压,打开CMD命令行,拖入collada2gltf.exe得到路径,后面加上-f,再拖入dae格式文件得到路径,后面加上-e,然后执行  ~~

    示例:E:\ collada2gltf.exe -f E:\Model\zhuzhai.dae -e

    【注意: -f表示dae文件的完成路径,collada2gltf支持两种转换方式,-e及-o,-e转换后只生成一个文件(gltf文件),在模型比较大时我们可将模型与纹理贴图分开加载,这时可用-o命令进行转换,转换后会生成.gltf、.bin及.glsl三种格式的文件。】

二、小试牛刀

    首先讲我们的贴图文件夹和导出后的,gltf文件一起放到工程下面。

    然后将把下面这段简洁的代码放在之前的代码后面就可以啦~

    uri是模型文件的路径,position后面就是我们需要放置模型的经纬度(虽然比起建模软件直接拖动还是很不方便)


var entity = viewer.entities.add({  
    position : Cesium.Cartesian3.fromDegrees(112.07, 35.05),  
    model : {  
        uri : 'zhuzhai.gltf'  
    }  
});  
viewer.trackedEntity = entity;

启动服务进行发布,就可以看到一个初步的效果啦(竟然还自动贴地?真是省事了不少~暗暗窃喜)




但是一个一个模型放置总是麻烦的,后面希望可以探索出来批量放置的方法~
这个地方比较小,也没有任何的三维数据资料,有条件的话还是无人机航拍三维建模比较好~

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值