在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的命令。
轉換成功~