2013-10-25 109 views
3

我是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'」。

我在翻譯過程中做錯了什麼,或者這是源模型的問題?如果是後者,我該如何解決原始模型或其出口形式?

感謝, - 大衛

回答

4

很不錯的項目,感謝您的鏈接。

對於COLLADA出口

  • 不包括UV紋理
  • 包括材質紋理
  • 不要複製(你可以使用提供的紋理圖像)在
  • 仔細檢查紋理路徑.dae文件,在<library_images>標記中,使用相對的標記

我試了我自己的,這裏如果你w螞蟻https://github.com/vincent/three.js-nasa, 但它並不完美,例如沒有使用法線貼圖的箔效果。

+0

感謝您的快速響應。 複製選項確實做了一件有用的事情 - 它使路徑相對,沒有它使用完整的系統路徑並需要手動編輯。 隨着一些更多的實驗,它看起來像箔效應的問題是某種分層問題 - 合併各種出口選項的結果,我可以得到金色或藍色箔紋理,但不是妥善合併他們的組合,我還不知道爲什麼。 – Digicrat

相關問題