This Repo is base on 3dtiles,I create this repo just optimize some build process that support Linux building enviroment. Maybe It would be add some feature in the future.
Tools for 3D-Tiles Transform tool.
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.
Just install OpenSceneGraph by apt :
sudo apt install libopenscenegraph-dev
build release :
cargo build --release
if build done ,that could find execute file in target\release
cd /target/release
.\_3dtiles
3dtilesTransform [FLAGS] [OPTIONS] --format <FORMAT> --input <PATH> --output <DIR>
# from osgb dataset
3dtilesTransform -f osgb -i E:\osgb_path -o E:\out_path
3dtilesTransform -f osgb -i E:\osgb_path -o E:\out_path -c "{\"offset\": 0}"
# use pbr-texture
3dtilesTransform -f osgb -i E:\osgb_path -o E:\out_path -c "{\"pbr\": true}"
# from single shp file
3dtilesTransform -f shape -i E:\Data\aa.shp -o E:\Data\aa --height height
# from single osgb file to glb file
3dtilesTransform -f gltf -i E:\Data\TT\001.osgb -o E:\Data\TT\001.glb
# from single obj file to glb file
3dtilesTransform -f gltf -i E:\Data\TT\001.obj -o E:\Data\TT\001.glb
# convert single b3dm file to glb file
3dtilesTransform -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 格式,便于调试程序和测试数据