因为我是Cesium小白,大神们绕道吧。
进行下面的步骤,需要你的电脑已经安装了node和npm,如果你不知道是什么,那你比我还白,就去找别的资料先安装好。
在网上找到obj转gltf的工具,大多数据都是从:https://github.com/AnalyticalGraphicsInc/obj2gltf这里下载安装。很多大神的帖子,但也存在好多问题。大多是下载完了就不会用了。我就从下载完后详细地开始吧。
下载下来后的代码结构应该是这样的,如下图:
对,没有ceium文件夹,只有这些。在specs文件夹下的data文件夹中有很多obj的文件,之后可以用它来做实验。
一、打开cmd
二、安装 obj2gltf
在cmd界面中输入:npm install --save obj2gltf。但是会报错!!如下图:
大概意思是obj2gltf这个名称与要安装的obj2gltf有冲突,需要用记事本打开项目要目录下的package.json文件:打开后就是这个下面样子,第一行就有个obj2gltf,把这个名字改成别的,再运行npm install --save obj2gltf就成功了。
三、安装cesium及其它
别以为上面就完了,当你运行:node bin\obj2gltf.js -i ./specs/data/box/box.obj -o box.gltf命令时,又会出来如下错误:
就是找不到cesium库,需要运行:npm install --save cesium安装cesium
再运行:npm install安装其它环境。
四、转换
现在终于可以转换了,运行:node bin\obj2gltf.js -i ./specs/data/box/box.obj -o box.gltf。如下图:
在项目根目录下生成了box.gltf。
如下图:
至此,obj转gltf阶段完成,为什么是阶段完成呢,因为你有大量的obj需要转换,难道你要一个一个地转换吗。当然不是,所以还需要写一个批转换命令。但是我不会写,哈哈哈……。
五、憋了一个批处理
如有更好办法,请帮忙,谢谢。在项目根目录下新建一个txt文件,把下面的代码拷贝txt文件,保存;并把txt文件后缀改成.bat。
其中:D:\1_Work\Project\3_learn\obj2gltf-master\OBJ是obj文件所在文件夹,整个意思大概是:把D:\1_Work\Project\3_learn\obj2gltf-master\OBJ路径下的所有.obj文件用node bin/obj2gltf.js来处理,并保存处理完的文件到D:\1_Work\Project\3_learn\obj2gltf-master\OBJ文件夹下。我是想把处理好的文件保存到另一个文件夹下,可是……不会
所以上面的D:\1_Work\Project\3_learn\obj2gltf-master\OBJ路径,要根据ojb文件目录更改
@echo off
for /r D:\1_Work\Project\3_learn\obj2gltf-master\OBJ %%i in (*.obj) do node bin/obj2gltf.js -i %%i -o %%i
pause & exit