2013-07-11 54 views
5

我已經從Blender導出.obj文件(以及.mtl和.png)以導入到libgdx項目中。該文件包含UV數據和正常數據。UV映射無法在導入的obj文件上工作

我拉文件到應用程序是這樣的:

ModelLoader loader = new ObjLoader(); 
model = loader.loadModel(Gdx.files.internal("data/car.obj")); 

的對象應該是這樣的:(是的,我不是一個藝術家)

enter image description here

但最後看起來像這樣:

enter image description here

我的UV貼圖發生了什麼?

回答

1

只需垂直翻轉紋理並加載紋理就可以正常工作。

你可以使用photoshop。

10

使用loader.loadModel(Gdx.files.internal("data/car.obj"), true);來翻轉垂直紋理座標。您還可以在轉換爲g3dx文件格式時翻轉垂直紋理座標:fbx-conv -f car.obj(-f用於翻轉垂直紋理座標),它將爲您提供一個名爲car.g3db的文件,並且更適合渲染。有關如何加載和轉換模型(以及翻轉紋理座標)的更多信息,請參閱:http://blog.xoppa.com/

+0

我正在使用的libgdx版本(昨天下載了最新的.zip)沒有'loadModel'的重載。感謝您提供轉換器,儘管......這絕對是我將來使用的。另外,歡迎來到Stack Overflow!另外,感謝教程,這是我第一次介紹libgdx。 – andypaxo

+0

如果您使用ObjLoader而不是ModelLoader,則應該有flipV參數('ObjLoader loader = new ObjLoader();')。你也可以使用更一般的參數:'loader.loadModel(file,new ObjLoaderParameters(true));'。 – Xoppa