最近打比賽需要在PPT里做實物的轉場演示動畫,發現一個問題:PPT導入3D模型文件丟失貼圖。
搜了一圈,沒發現能明確解決這個問題的方法,模糊的辦法有2種,我試了都沒用:
- Obj格式導入會丟失貼圖,換成Fbx就好了(換成Fbx依然丟失貼圖)
- 把生成的Obj模型用電腦自帶的“3D Print“/“畫圖3D”軟件打開,如果自帶軟件里沒有丟失貼圖,復制到PPT里即可(自帶軟件打開依然丟失貼圖,沒救)
最后偶然發現,換成GLB格式的模型能解決問題。原因估計是微軟對Obj、fbx這些格式支持不夠,但對自己力推的GLB格式支持很好,像電腦自帶的3D print這些軟件就非常適合處理GLB格式文件。
建模軟件若不支持導出GLB格式模型(我用的RealityCapture不行),可以先導出Obj再轉GLB。Obj轉GLB有現成的工具,步驟如下:
Step 1.下載並安裝Node.js
官網下載鏈接:https://nodejs.org/en/download/
有各種系統、32/64位、各種格式的安裝包,按需選擇即可。(推薦ZIP)
Step 2.管理員模式打開Powershell,鍵入命令 npm install --save obj2gltf
npm install --save obj2gltf
Step 3.到Step 1解壓后整個Node包的位置,點擊進入node_modules文件夾,復制此時的路徑信息
例如,我的路徑信息是這樣:
Step 4.打開CMD窗口(WIN+R,輸入CMD,回車),用DOS命令來到Step 3記錄的路徑下
Step 5.鍵入命令 obj2gltf -i model.obj -o model.glb
obj2gltf -i model.obj -o model.glb
注意,不要傻傻復制完就回車,記得改文件的讀入寫出路徑,‘model.obj’換成導入的obj文件路徑‘xxxx/某模型.obj’,‘model.glb’換成寫出模型的路徑信息‘xxxx/某模型.glb’