在cesium中的模型需要的是gltf或glb格式的文件,之前的做法是用将模型从3d max中导出dae格式的文件(需要插件),然后用collada2gltf工具将dae格式转成gltf。 最近翻看cesium的官博上,推荐了一个obj2gltf的库,地址https://github.com/AnalyticalGraphicsInc/obj2gltf
试用了一下效果不错,但是可惜的是不能批量转gltf,要一个一个执行node命令岂不是很麻烦,所以写一个批处理吧。
红框是建立的两个文件夹,一个存放的是obj模型,另一个存放的是转换后的gltf模型。
之后编写批处理程序:
@echo off
for /r E:/WebGL/obj2gltf-master/OBJ %%i in (*.obj) do node bin/obj2gltf.js %%i Output
pause & exit
- 1
- 2
- 3
- 1
- 2
- 3
@echo off 表示表示在此语句后所有运行的命令都不显示命令行本身
for 循环命令,只要条件符合,它将多次执行同一命令。
语法:
FOR %%variable IN (set) DO command [command-parameters]
%%variable 指定一个单一字母可替换的参数。
(set) 指定一个或一组文件。可以使用通配符。
command 指定对每个文件执行的命令。
command-parameters 为特定命令指定参数或命令行开关。
例如一个批处理文件中有一行:
for %%c in (.bat .txt) do type %%c
则该命令行会显示当前目录下所有以bat和txt为扩展名的文件的内容。
node bin/obj2gltf.js %%i Output 这一命令即是将obj转成gltf的命令。
转换成功~