Skip to content

jimmyleeking/3dtilesTransform

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Introduction

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) to 3D-Tiles: convert huge of osgb file to 3D-Tiles.

  • Esri Shapefile to 3D-Tiles: convert shapefile to 3D-Tiles.

  • Fbx to 3D-Tiles: convert fbx file to 3D-Tiles, include auto_lod\texture convertion etc.

How to build

Ubuntu

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

Usage

① Command Line

3dtilesTransform [FLAGS] [OPTIONS] --format <FORMAT> --input <PATH> --output <DIR>

② Examples

# 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

③ Parameter Description

  • -c, --config <JSON> 在命令行传入 json 配置的字符串,json 内容为选配,可部分实现

    json 示例:

    {
      "x": 120,
      "y": 30,
      "offset": 0 , // 模型最低面地面距离
      "max_lvl" : 20 // 处理切片模型到20级停止
    }
  • -f, --format <FORMAT> 输入数据格式。

    FORMAT 可选:osgb, shape, gltf, b3dm

    osgb 为倾斜摄影格式数据, shape 为 Shapefile 面数据, gltf 为单一通用模型转gltf, b3dm 为单个3dtile二进制数据转gltf

  • -i, --input <PATH> 输入数据的目录,osgb数据截止到 <DIR>/Data 目录的上一级,其他格式具体到文件名。

  • -o, --output <DIR> 输出目录。输出的数据文件位于 <DIR>/Data 目录。

  • --height 高度字段。指定shapefile中的高度属性字段,此项为转换 shp 时的必须参数。

Data Format Support

① 倾斜摄影数据

倾斜摄影数据仅支持 smart3d 格式的 osgb 组织方式:

  • 数据目录必须有一个 “Data” 目录的总入口;
  • “Data” 目录同级放置一个 metadata.xml 文件用来记录模型的位置信息;
  • 每个瓦片目录下,必须有个和目录名同名的 osgb 文件,否则无法识别根节点;

正确的目录结构示意:

- Your-data-folder
  ├ metadata.xml
  └ Data\Tile_000_000\Tile_000_000.osgb

② Shapefile

目前仅支持 Shapefile 的面数据,可用于建筑物轮廓批量生成 3D-Tiles.

Shapefile 中需要有字段来表示高度信息。

③ 通用模型转 glTF:

支持 osg、osgb、obj、fbx、3ds 等单一通用模型数据转为 gltf、glb 格式。

转出格式为 2.0 的gltf,可在以下网址验证查看: https://pissang.github.io/clay-viewer/editor/

④ B3dm 单文件转 glb

支持将 b3dm 单个文件转成 glb 格式,便于调试程序和测试数据

Releases

No releases published

Packages

No packages published