OBJ
obj文件是Alias|Wavefront公司为3D建模和动画软件"Advanced Visualizer"开发的一种标准3D模型文件格式,大部分3D软件都支持导入、导出obj格式的模型文件。每个obj模型一般由xxx.obj的模型文件、xxx.mtl材质信息文件、xxx.jpg纹理贴图文件组成。
glTF
glTF的创建者看到了互联网的崛起,意识到需要一种高效的现代3D格式,可以用来传输3D模型和场景数据。glTF格式本质上是一个JSON文件。这一文件描述了整个3D场景的内容。它包含了对场景结构进行描述的场景图。场景中的3D对象通过场景结点引用网格进行定义。材质定义了3D对象的外观,动画定义了3D对象的变换操作(比如选择、平移操作)。蒙皮定义了3D对象如何进行骨骼变换,相机定义了渲染程序的视锥体设置。
最近遇到一个问题,需要将一个OBJ文件快速转换为glTF格式,然后加载到Cesium上。在CesiumLab中没有找到对应的功能,为了这项工作,专门安装一个大型的三维软件也不值得。这时候发现有一个开源的工具obj2gltf非常方便,https://github.com/CesiumGS/obj2gltf。
转换方法
- 在https://github.com/CesiumGS/obj2gltf点击下载代码,也可以使用`git clone
- 下载后,解压缩,在代码的根目录中执行下面代码
npm install -g obj2gltf
注意:
- 电脑上要安装有node.js的环境
- 一定是在根目录执行,这个插件没有发布到npm上
- 执行全局安装完成后,参照使用下面代码即可完成对文件的转换
obj2gltf -i model.obj
obj2gltf -i model.obj -o model.gltf
obj2gltf -i model.obj -o model.glb
效果
使用上方的代码,在cesium中加载的效果如下:
上图模型下载地址 https://download.csdn.net/download/GISuuser/88215266?spm=1001.2014.3001.5501