发现了一个新插件,3D Tiles Tools,CesiumGS 出品,新鲜热乎(当前写这篇文章的时候,版本是v 0.4.1),所以,有些功能还不够使用。这里是我当前版本发现的问题,例如:不可以从一个文件夹中读取glb,然后转到另一个输出文件夹中。
希望之后的版本,可以有更多的优化。
执行步骤:
git clone https://github.com/CesiumGS/3d-tiles-tools
因为之前我拷贝了最新稳定版本v 0.4.1的代码,结果跟项目的文档上有所出入(有些功能使用了会报错),是换成了 upgrade-cmpt 这个看提交记录是最新的分支的代码才没有报错
npm install
-i 前面的是调用的方法,-i 后面跟的是输入文件或者文件夹,-o 后面跟着的是输出文件或文件夹
npx ts-node .\src\cli\main.ts gzip -i ./specs/data/TilesetOfTilesets/ -o ./output/TilesetOfTilesets-gzipped/
比较无语的地方就在这里,这个转换方法是一一对应的,就是一个glb转一个b3dm。所以我才吐槽,不能一个文件夹对应一个文件夹。
npx ts-node .\src\cli\main.ts glbToB3dm -i ./glb/1.glb -o ./output/1.b3dm
npx ts-node .\src\cli\main.ts createTilesetJson -i ./output/ -o ./output/tileset.json
代码的内容可以视情况而变,例如文件夹地址名称不对,那就改;例如,可以在循环代码后,再接一个生成tileset.json的命令。等等。
@echo off
for %%f in (./glb/*.glb) do (
npx ts-node .\src\cli\main.ts glbToB3dm -i "%%f" -o "./output/%%~nf.b3dm"
)
echo All files have been processed.