2013-07-11 27 views
5

Bir libgdx projesine içe aktarmak için Blender'dan bir .obj dosyası (.mtl ve bir .png ile birlikte) verdim. Dosya hem UV hem normal verileri içerir.UV eşlemesi, içe aktarılan nesne dosyasında çalışmıyor

böyle app dosyayı çekiyorum:

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

şu şekilde görünmelidir nesnesi: (Evet, bir sanatçı değilim)

enter image description here

Ama biter bu gibi bakarak:

enter image description here

UV haritama ne oldu?

cevap

1

Sadece dokuyu dikey olarak çevirin ve dokuyu yükleyin iyi çalışıyor.

Bunu photoshop kullanarak yapabilirsiniz.

10

Dikey doku koordinatlarını çevirmek için loader.loadModel(Gdx.files.internal("data/car.obj"), true); kullanın. Ayrıca g3dx dosya formatına dönüştürürken dikey dokular koordinatlarını da çevirebilirsiniz: fbx-conv -f car.obj (-f, dikey dikey doku koordinatlarında), size car.g3db adlı bir dosya verecek ve işleme için daha uygundur. Modelleri (ve çevirme doku koordinatlarını) yüklemek ve dönüştürmek için daha fazla bilgi burada bulunabilir: http://blog.xoppa.com/.

+0

Kullandığım libgdx sürümü (dün en son .zip indirildi), bu loadModel gereğinden fazla yüklenmiyor. Dönüştürücüyü getirdiğiniz için teşekkürler ... ... ama kesinlikle ileriye doğru kullanmakta olacağım. Ayrıca, Stack Overflow'a hoş geldiniz! Ayrıca, öğreticiler için teşekkürler, bu libgdx için ilk girişimdi. – andypaxo

+0

ModelLoader yerine ObjLoader kullanırsanız, flipV argümanına sahip olmalısınız ('ObjLoader loader = new ObjLoader();'). Daha genel parametreleri de kullanabilirsiniz: 'loader.loadModel (dosya, yeni ObjLoaderParameters (true));'. – Xoppa