Skip to content

The fastest tools for 3dtiles convert in the world!

License

Notifications You must be signed in to change notification settings

lizhao520q/3dtiles

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

English | 简体中文

Introduction

glTF status Action status Action status

3D-Tiles convertion:

  • 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.

You may intereted in:

Build

Ubuntu

sudo apt-get update
sudo apt-get install -y g++ libgdal-dev libopenscenegraph-dev cargo
git clone https://github.com/fanvanzh/3dtiles
cd 3dtiles
cargo build --release

Centos

sudo yum install -y gdal-devel cargo g++
git clone https://github.com/fanvanzh/3dtiles
cd 3dtiles
git clone https://github.com/microsoft/vcpkg.git
./vcpkg/bootstrap-vcpkg.sh
./vcpkg/vcpkg install osg:x64-linux-release
cargo build --release

Windows

curl https://sh.rustup.rs -sSf -o rustup-init.exe
./rustup-init.exe -y
git clone https://github.com/fanvanzh/3dtiles
cd 3dtiles
git clone https://github.com/microsoft/vcpkg.git
./vcpkg/bootstrap-vcpkg.bat
./vcpkg/vcpkg install osg:x64-windows-release
./vcpkg/vcpkg install gdal:x64-windows-release
cargo build --release

Usage

① Command Line

_3dtile.exe [FLAGS] [OPTIONS] --format <FORMAT> --input <PATH> --output <DIR>

② Examples

# 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

English | 简体中文

简介

3D-Tile 转换工具集,高效快速的 3D-Tiles 生产工具。

提供了如下的子工具:

  • Osgb(OpenSceneGraph Binary)3D-Tiles

  • Esri Shapefile3D-Tiles

  • Fbx3D-Tiles

  • ...

编译

Ubuntu

sudo apt-get update
sudo apt-get install -y g++ libgdal-dev libopenscenegraph-dev cargo
git clone https://github.com/fanvanzh/3dtiles
cd 3dtiles
cargo build --release

Centos

sudo yum install -y gdal-devel cargo g++
git clone https://github.com/fanvanzh/3dtiles
cd 3dtiles
git clone https://github.com/microsoft/vcpkg.git
./vcpkg/bootstrap-vcpkg.sh
./vcpkg/vcpkg install osg:x64-linux-release
cargo build --release

Windows

curl https://sh.rustup.rs -sSf -o rustup-init.exe
./rustup-init.exe -y
git clone https://github.com/fanvanzh/3dtiles
cd 3dtiles
git clone https://github.com/microsoft/vcpkg.git
./vcpkg/bootstrap-vcpkg.bat
./vcpkg/vcpkg install osg:x64-windows-release
./vcpkg/vcpkg install gdal:x64-windows-release
cargo build --release

使用说明

① 命令行格式

_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}"

# 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
    }
  • -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 时的必须参数。

数据要求及说明

① 倾斜摄影数据

倾斜摄影数据仅支持 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 格式,便于调试程序和测试数据

About

The fastest tools for 3dtiles convert in the world!

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 95.1%
  • C 4.6%
  • Other 0.3%