我是Open/WebGL的新手,並且從下載的Blender模型獲取紋理/皮膚時出現問題,以顯示在three.js中。我可以從Chrome的網絡標籤驗證它正在下載所有的紋理文件,但由於某些原因,它們沒有被渲染。如何將模型和相關紋理從Blender導入three.js?
我使用webgl_loader_collada.html示例作爲基礎,將示例3D模型從攪拌器導入到three.js中。我正在使用the MESSENGER model available from the NASA website。作爲參考,可以看到NASA 3D模型的完整畫廊here。
我現在的步驟:
- 下載和攪拌機打開模型
- 文件 - >導出>指向COLLADA(.dae)
查看:
- 修改threejs/examples/webgl_loader_collada.html的副本以指向導出的.dae文件
- 刪除第59行的縮放。
使用混合器導出中的默認選項,生成的渲染不含所有紋理。如果啓用「包含材質紋理」,我最終會在模型的主體部分顯示金色,但其他紋理都不會被映射,太陽能電池板也會完全變黑。另外,如果我也選中「包含UV紋理」,我會得到一個沒有紋理的全灰色渲染。
我也嘗試了Blender的three.js JS exporter插件,但在這種情況下(使用適當的演示模板),我得到的只是一個JS異常「無法讀取未定義的屬性'opacity'」。
我在翻譯過程中做錯了什麼,或者這是源模型的問題?如果是後者,我該如何解決原始模型或其出口形式?
感謝, - 大衛
感謝您的快速響應。 複製選項確實做了一件有用的事情 - 它使路徑相對,沒有它使用完整的系統路徑並需要手動編輯。 隨着一些更多的實驗,它看起來像箔效應的問題是某種分層問題 - 合併各種出口選項的結果,我可以得到金色或藍色箔紋理,但不是妥善合併他們的組合,我還不知道爲什麼。 – Digicrat