English | 简体中文
Tools for 3D-Tiles convertion.
This is a RUST language
project with cpp lib to handle osgb data.
Tools provided are as follow:
-
Osgb(OpenSceneGraph Binary)
to3D-Tiles
: convert huge of osgb file to 3D-Tiles. -
Esri Shapefile
to3D-Tiles
: convert shapefile to 3D-Tiles. -
Fbx
to3D-Tiles
: convert fbx file to 3D-Tiles, include auto_lod\texture convertion etc.
You may intereted in:
3dtile.exe [FLAGS] [OPTIONS] --format <FORMAT> --input <PATH> --output <DIR>
# from osgb dataset
3dtile.exe -f osgb -i E:\osgb_path -o E:\out_path
3dtile.exe -f osgb -i E:\osgb_path -o E:\out_path -c "{\"offset\": 0}"
# use pbr-texture
3dtile.exe -f osgb -i E:\osgb_path -o E:\out_path -c "{\"pbr\": true}"
# from single shp file
3dtile.exe -f shape -i E:\Data\aa.shp -o E:\Data\aa --height height
# from single osgb file to glb file
3dtile.exe -f gltf -i E:\Data\TT\001.osgb -o E:\Data\TT\001.glb
# from single obj file to glb file
3dtile.exe -f gltf -i E:\Data\TT\001.obj -o E:\Data\TT\001.glb
# convert single b3dm file to glb file
3dtile.exe -f b3dm -i E:\Data\aa.b3dm -o E:\Data\aa.glb
To Translate.
To Translate.
English | 简体中文
3D-Tile 转换工具集,高效快速的 3D-Tiles 生产工具,极度节省你的处理时间。
这是一个混合了 c 和 c++ 库(主要是 osgb)的 Rust 项目。
提供了如下的子工具:
-
Osgb(OpenSceneGraph Binary)
转3D-Tiles
-
Esri Shapefile
转3D-Tiles
-
Fbx
转3D-Tiles
-
...
3dtile.exe [FLAGS] [OPTIONS] --format <FORMAT> --input <PATH> --output <DIR>
# from osgb dataset
3dtile.exe -f osgb -i E:\osgb_path -o E:\out_path
3dtile.exe -f osgb -i E:\osgb_path -o E:\out_path -c "{\"offset\": 0}"
# use pbr-texture
3dtile.exe -f osgb -i E:\osgb_path -o E:\out_path -c "{\"pbr\": true}"
# from single shp file
3dtile.exe -f shape -i E:\Data\aa.shp -o E:\Data\aa --height height
# from single osgb file to glb file
3dtile.exe -f gltf -i E:\Data\TT\001.osgb -o E:\Data\TT\001.glb
# from single obj file to glb file
3dtile.exe -f gltf -i E:\Data\TT\001.obj -o E:\Data\TT\001.glb
# convert single b3dm file to glb file
3dtile.exe -f b3dm -i E:\Data\aa.b3dm -o E:\Data\aa.glb
-
-c, --config <JSON>
在命令行传入 json 配置的字符串,json 内容为选配,可部分实现json 示例:
{ "x": 120, "y": 30, "offset": 0 , // 模型最低面地面距离 "max_lvl" : 20 // 处理切片模型到20级停止 }
-
-f, --format <FORMAT>
输入数据格式。FORMAT
可选:osgb, shape, gltf, b3dmosgb
为倾斜摄影格式数据,shape
为 Shapefile 面数据,gltf
为单一通用模型转gltf,b3dm
为单个3dtile二进制数据转gltf -
-i, --input <PATH>
输入数据的目录,osgb数据截止到<DIR>/Data
目录的上一级,其他格式具体到文件名。 -
-o, --output <DIR>
输出目录。输出的数据文件位于<DIR>/Data
目录。 -
--height
高度字段。指定shapefile中的高度属性字段,此项为转换 shp 时的必须参数。
倾斜摄影数据仅支持 smart3d 格式的 osgb 组织方式:
- 数据目录必须有一个
“Data”
目录的总入口; “Data”
目录同级放置一个metadata.xml
文件用来记录模型的位置信息;- 每个瓦片目录下,必须有个和目录名同名的 osgb 文件,否则无法识别根节点;
正确的目录结构示意:
- Your-data-folder
├ metadata.xml
└ Data\Tile_000_000\Tile_000_000.osgb
目前仅支持 Shapefile 的面数据,可用于建筑物轮廓批量生成 3D-Tiles.
Shapefile 中需要有字段来表示高度信息。
支持 osg、osgb、obj、fbx、3ds 等单一通用模型数据转为 gltf、glb 格式。
转出格式为 2.0 的gltf,可在以下网址验证查看: https://pissang.github.io/clay-viewer/editor/
支持将 b3dm 单个文件转成 glb 格式,便于调试程序和测试数据
-
NASA JPL (gkjohnson)
-
AnalyticalGraphicsInc (kring)
-
NVIDIA (Vinjn Zhang)
-
Ubisoft (Cmdu76)
-
Baidu (hinikai)
-
Esri (suny323)
-
Geostar (hekaikai\shitao1988)
-
MapTalks (brucin\fuzhenn\axmand)
-
Alibaba (luxueyan)
-
Tencent (NichoZhang)
-
Data Cloud Co- Ltd (liujin834)
-
Tsinghua University (DeZhao-Zhang)
-
Peking University (CHRIS-WiNG\Weizhen-Fang)
-
Wuhan University (chenguanzhou)
-
Guangzhou University (LreeLenn)
-
Hopkins University (AndrewAnnex)
-
**铁道科学设计研究院
-
上海华东设计研究院
-
江苏省测绘研究所
-
宁波市测绘设计研究院
-
合肥火星科技有限公司 (muyao1987)
-
北京西部数据科技 (vtxf\elfc2000)
作者不是专业搞三维GIS的,因偶尔有个需求要展示 3D-Tiles,一时找不到工具,就写了个轮子,代码多有纰漏,仅供参考。