2010-11-16 122 views
0

我已經在Javascript/canvas中構建了一個3D顯示應用程序,它工作得很好。我最近實現了映射貼圖的功能。從3D模型獲取紋理貼圖

我從stl格式導入三維模型,工作得很好,因爲他們只存儲tris,所以很容易導入,因爲我沒有打破它們,但他們不存儲紋理。

紋理的存儲方式是這樣

textureObject(){ 
    this.img=image //Js image object 
    this.triArray=[[x1,y1],[x2,y2]...]//Map of where polys 

    function returnImage(int i){ 
    //returns a cropped triangle around the coordinates in the triArray. 
    } 
} 

實際的實現是有點不同,但多數民衆贊成在肉類和它肉汁。雖然它不是完美的紋理貼圖,但它只是一種仿造變形,它看起來很醜,但對我來說已經足夠好了。

我的問題是,我不知道如何從已創建的3d對象保存triArray,以便我不必爲此項目創建全新的文件格式。

我想我有兩個選擇:

製作的另一種文件格式的供應,如果有一個存儲它的紋理座標文件中的信息。 (但其文件格式?)

OR

或有紋理映射的對象,我可以再實現創建我的陣列中的一個標準呢? (什麼是方法?)

回答

0

也許這種文件格式是你正在尋找?我認爲很多3D建模程序實際上都會輸出爲這種格式:

+0

我最終自己解決了這個問題,我確實使用了STL,我發現它們是如何佈局的,並且編寫了一個查看器(http://sobriety.1free。 ws/index.php?action = OBJViewer)我會在我的主代碼中實現它,當我能夠掌握一些sub 100tri模型或者我學習如何創建自己的模型。 – Sobriety 2010-12-03 11:07:27