obj转成gltf和3dtiles
2020年11月13日更新:c++版本更新,使1中的commands数字降低,2的帧率提高,优化了性能
2020年3月29号更新。添加c++版本链接
c++版本:https://blog.csdn.net/u014572215/article/details/105105063
c++版本支持模型压缩。
使用JobjTob3dm转换工具可以将obj文件转成glit和b3dm。
下载地址:https://download.csdn.net/download/u014572215/11078795
百度云:https://pan.baidu.com/s/1OCraZO7-KpDBNrO-wNS25w
提取码:34j0
c++版本支持模型压缩
https://blog.csdn.net/u014572215/article/details/105105063
C++版本下载地址
链接:https://pan.baidu.com/s/11EVNu9pF3zKq1aGCEj0Xtw
提取码:06gj
使用说明和要求
一、软件实现obj模型文件转换成cesium使用的gltf或3D Tiles文件。
软件界面如下
主界面
控制台
主界面是obj转换成gltf和b3dm的操作界面,控制台是消息显示和错误信息显示的地方,请不要关闭控制台。
二、Obj文件要求
1、obj文件中不得出现中文
三、mtl文件要求
1、mtl中引用的图片不到出现路径,只保留图片文件名和后缀。如
1是正确的,2和3是错误的,
2应改为timg.jpg,把 G:\picture\ 删除
3应改为timg.jpg,把picture\ 删除
2、不得出现中文
3、保证所有引用的图片都能找到
四、整体要求
obj文件mtl文件和引用的所有纹理图片都要放在同一文件夹下,因为其他路径下的图片读取不到。就会报错。如:
obj、mtl和mtl中引用到的图片都放在同一文件夹内
五、obj转换成b3dm可以给每个模型添加属性数据,比如说模型的高度height,以使模型能根据height属性渲染模型的颜色。
要给模型添加属性数据,obj文件中必须存在每一个模型的名称(或者说唯一标识),就是obj文件中o开头的行,并且整个obj和mtl文件不能出现中文。
要给模型添加属性数据可以使用excel文件:
属性excel文件第一行保证为标题,且不能出现中文;第一列(A列)为模型名称(唯一标识)对应obj文件中的o开头的行,就是名称;其他事属性可以随意添加。
如下是读取的属性数据
输出的b3dm使用utf8编码打开后可以看到属性如下
三、shp简单面文件转换成obj模型。比如shp中是一个正方形的面,有一个属性highs是10,则会转换成一个高位10的正方体。
Shp文件要求
shp必须是面文件
shp使用WGS_1984_Web_Mercator_Auxiliary_Sphere坐标系,即(3857)
shp属性表中有double类型的字段highs,表示模型的高度。如果没有则生成的模型只有一个面
shp属性表中有文本类型的字段names,用来表示每个模型的名称。如果没有则会有一个默认的名称
左边为shp文件矢量化故宫的某一小块,右边为转换成obj后再blender中的效果(注意生成的obj文件一定要使用三维软件如blender导入后,再导出才能使用本软件转换成gltf和3dtiles)
软件界面如上图
————————————————
版权声明:本文为CSDN博主「mylove10086」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u014572215/article/details/88967108