cesium中支持载入3D模型,不过只支持gltf格式。gltf是khronos组织(起草OpenGL标准的那家)定义的一种交换格式,用于互联网或移动设备上展现3d内容,充分支持opengl,webgl,opengles图形加速标准。

在用cesium的过程中难免需要导入建好的obj或dae模型,这时候就需要将这些模型转成gltf格式了
我比较常用的是obj,所以我用的是obj2gltf

obj转gltf步骤
首先在cesium目录下安装obj2gltf(如果没有nodejs的就装一个吧,反正又简单官方还推荐)

npm install --save obj2gltf

然后在node_modules目录下找到obj2gltf,把你需要转的obj和带的贴图放在obj2gltf根目录下(貌似是obj2gltf的bug,指定目录似乎不管),在obj2gltf目录下打开命令行,输入

node bin/obj2gltf.js -i model.obj -o model.gltf

为了避免一个个文件转换的麻烦,参考博客http://blog.csdn.net/u013929284/article/details/53106331,写了一个批处理文件,将文件夹A中的obj文件全部转为对应的gltf文件放入文件夹B中,代码为

@echo off
for /r D:\obj2gltf-master\OBJ %%i in (*.obj) do node bin/obj2gltf.js -i %%i -o OUTPUT\test.gltf
pause & exit

按原博主的方法会报缺少参数,添加-i,-o后解决,成功转换。


成功转换模型后,将模型放到相应路径,使用viewer.scene.primitives.add方法加载

      var modelMatrix = Cesium.Transforms.eastNorthUpToFixedFrame(
Cesium.Cartesian3.fromDegrees(102.73, 25.04, ));
var model = viewer.scene.primitives.add(Cesium.Model.fromGltf({
url : '../Source/SampleData/Models/pangea3dgalleon.gltf',
modelMatrix : modelMatrix,
//scale : 10.0,
maximumScreenSpaceError: // default value
})); viewer.camera.flyTo({
destination : Cesium.Cartesian3.fromDegrees(102.73, 25.04, 2631.082799425431)
});

加载后发现模型不出现,排查后原因是加载地形后模型被挡住,将模型放大到一定程度或放置位置在一定高度就能看到

cesium导入3D模型(obj转gltf)的更多相关文章

  1. WPF利用HelixToolKit后台导入3D模型

    原文:WPF利用HelixToolKit后台导入3D模型 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/m0_37591671/article/de ...

  2. bullet物理引擎与OpenGL结合 导入3D模型进行碰撞检测 以及画三角网格的坑

    原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/11681069.html 一.初始化世界以及模型 /// 冲突配置包含内存的默认设置,冲突设置. ...

  3. Cesium学习笔记(九):导入3D模型(obj转gltf)

    在用cesium的过程中难免需要导入别人做好的3D模型,这时候就需要将这些模型转成gltf格式了 当然,官方也给了我们一个网页版的转换器,但是毕竟是网页版的,效率极其低下,文件还不能太大,所以我们就需 ...

  4. OpenGl读取导入3D模型并且添加鼠标移动旋转显示

    原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/11543828.html 最近实习要用到opengl库就是跟opencv 有点像的那个,然后下了 ...

  5. c# winform用sharpGL(OpenGl)解析读取3D模型obj

    原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/11783026.html 自己写了个简单的类读取解析obj模型,使用导入类,然后new个对象,在 ...

  6. 【Unity】3.0 第3章 创建和导入3D模型

    分类:Unity.C#.VS2015 创建日期:2016-04-02 一.简介 利用Unity内置的基本模型和工具,不需要借助任何其他的三维建模软件,就可以直接创建出各种3D模型,这是这一章我们首先学 ...

  7. Unity导入3D模型的过程与方法

    一.介绍 资源是游戏开发中的原材料,也就是组成游戏的模块. Unity只是一个游戏开发引擎,而并不是一个资源开发软件.这就意味着在游戏中需要的资源通常是由一些设计者使用其他软件开发出来的,然后设计者会 ...

  8. 3D模型预处理(格式转换:obj转换为gltf)

    在cesium中导入模型需要的是gltf或glb格式的文件,cesium官方提供了obj转gltf文件的工具,一个obj2gltf的库,地址为https://github.com/Analytical ...

  9. Cesium学习笔记(五):3D 模型 (http://blog.csdn.net/umgsoil/article/details/74572877)

    Cesium支持3D模型,包括关键帧动画,皮肤的改变还有单个节点的选择等,Cesium还提供了了一个基于网络的工具,将COLLADA模型转换为glTF,方便和优化模型添加 还记得我们在实体添加的时候添 ...

随机推荐

  1. Git做代码增量发布的重要用法 - --diff-filter

    你以为有 bash git diff --name-only 就够了,NO! 对于PHP开发的系统来说,增量发布,一般只需部署新增的文件和有变动的文件,但很多时候,文件是删除的或重构成其它文件名或重构 ...

  2. Android SDK Manager速度慢

    转载自:http://www.cnblogs.com/tc310/archive/2012/12/21/2828450.html Android SDK Manager 无法下载更新,或者更新速度超慢 ...

  3. excel数据批量导入

    1.  html <form id="form_search" action="@Url.Action("UpLoadFile")" ...

  4. 安卓程序代写 网上程序代写[原]ViewGroup(容器组件)详解(API解析)

    一. ViewGroup简介 1.View和ViewGroup关系 UI组件在Android中的位置 : Android中的UI组件大部分都放在android.widget 或者 android.vi ...

  5. share a story on OSPF & BGP

    IP掌门把两个得意门生——BGP和OSPF叫到跟前,询问他们的修炼心得,以选择弟子传授大内心法——MPLS VPN.OSPF说:“小徒苦心研读路由原理,技术资料上万页,网络在我的围护下无环路,触发更新 ...

  6. kali 安装KVM教程---》给自己的笔记

    ⦁ 查看系统环境支持 egrep 'svm|vmx' /proc/cpuinfo 如果不支持则是 没有任何输出如果支持有类似下面的输出: ⦁ 安装软件 sudo apt-get install kvm ...

  7. WEB打印(jsp版)

    <%@ page contentType="text/html; charset=UTF-8" language="java"%> <%@in ...

  8. (笔记)Mysql命令mysqldump:备份数据库

    mysqldump命令用来备份数据库. mysqldump命令在DOS的[url=file://\\mysql\\bin]\\mysql\\bin[/url]目录下执行. 1) 导出整个数据库(导出文 ...

  9. (笔记)Linux下怎么安装tar.gz的软件

    一般这种的就是源代码.先下载下来.然后cd到下载目录.用tar xvfz XXX.tar.gz的解压.然后进入解压后的目录. 打./configure生成配置文件.打make对源代码进行编译,生成库和 ...

  10. (笔记)linux设备驱动--LED驱动

    linux设备驱动--LED驱动 最近正在学习设备驱动开发,因此打算写一个系列博客,即是对自己学习的一个总结,也是对自己的一个督促,有不对,不足,需要改正的地方还望大家指出,而且希望结识志同道合的朋友 ...