2016-11-11 55 views

回答

4

目前還沒有已知的轉換軟件可用於其他方向。這是因爲COLLADA被認爲是3D asset exchange schema,而glTF是針對runtime 3D asset delivery。換句話說,COLLADA意味着將模型移植到三維軟件包之間,而glTF則意味着將模型傳輸給最終用戶以供即時使用。每種格式的技術內部都反映了這些意圖:在COLLADA中,一批頂點數據清楚地標記爲頂點數據,而法線標記爲法線,便於加載到編輯器中。但是在glTF中,情況是不同的:頂點,普通,UV和其他數據可以作爲二進制blob捆綁在一起,訪問器指示如何將這些數據的切片作爲頂點屬性傳遞給着色器。

將轉換器寫入其他方向是不可能的,但可能會出現問題。例如,如果轉換器在glTF中遇到了手寫着色器,則可能很難確定如何處理它們。即使需求僅僅是爲了從二進制blob中搶救數據並丟棄着色器,仍然可能存在自定義頂點屬性,這些屬性可能沒有明顯的轉換路徑。我想象一個轉換器可能只是爲了挽救位置數據,可能還有法線和紋理座標以及材料名稱,然後將它們轉換成COLLADA。不會有一條簡單的路徑來獲得漫反射/發射顏色,或選擇光照算法等。

因此,總結:可能但有問題寫一個反向轉換器,並違背了用戶的意圖glTF格式,但仍可能對最終用戶有用。


UPDATE 2017年3月:在glTF 2.0模式是being drafted現在,並有可能會簡單得多比glTF 1.0導入。這是因爲自定義着色器正在移出核心架構,取而代之的是運行時引擎提供自己的着色器的基於物理渲染()。這意味着像幾何體,法線,紋理座標等之類的東西必須清楚地標識給客戶端,而不僅僅是將任意數據傳遞給任意着色器。

GitHub上有一個Blender glTF 2.0 importer,但我沒有親自嘗試過。我確實期望更多不同的glTF 2.0進口商開始出現。

相關問題