2010-11-16 89 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