2015-02-06 61 views
0

嘿,我有一個對象我想用在我的iPhone應用程序中。目前,我通過將3D對象導出爲.obj(Wavefront)格式來完成此操作,但不會導出紋理。將包含紋理的3D對象導出到.obj

我讀過我將不得不使用Cinema4D(在對象管理器)內的「烘焙紋理」功能,但沒有列出Wavefront作爲可能的導出格式。

有沒有辦法在導出時包含紋理?

回答

1

您只能在應用程序中讀取Wavefront obj?這種格式不包含紋理位圖數據。只有頂點位置,法線和紋理座標。材料以* .mtl文件(材料模板庫)導出,可以引用紋理以映射obj文件中聲明的不同對象。如果你的obj解析器可以和你的obj一起使用mtl文件,那麼你可以告訴他加載mtl。 但是,我建議你看看更現代的交換格式(和相應的解析器),如collada。這些更新的格式可以存儲許多信息,如紋理,着色器,動畫,物理元素等等。collada文件可能會看起來比較重,但是從一個應用程序移動到另一個應用程序時,它更加自動化。

+0

哦,我明白了......可以通過打開的gl來使用collada嗎? – LinusGeffarth 2015-02-10 14:12:43

+0

對於所有類型的光柵化庫(Direct3D或OpenGL等),都有許多collada解析器。格式是用於數據交換的目的,所以並不取決於您的框架可能使用的光柵化器(當然,如果您的曲面使用HLSL或Cg着色器,您可能希望在從您的導出到Collada之前將它們移植到GLSL,非常簡單最喜歡的DCC工具,與OpenGL一起使用它們)。基本上,你的數據存儲就像使用obj,但有更多的信息。查找OpenGL Collada解析器/查看器示例,並且您將從場景中加載比objs更多的信息。 – 2015-02-22 11:18:01

相關問題