Tagchen,
nachdem ich dreimal alles durchsucht habe und mir ziemlich sicher bin, dass ich es so mache, wie es hier steht (
http://www.jpct.net/wiki/index.php/Loading_models), muss ich euch leider mit einer Wie-kriege-ich-das-denn-nun-hin-Frage belästigen.
Also, ich habe ein relativ einfaches .obj mit Blender fabriziert, ein Haus. Wand und Dach sind mit jeweils einer Textur beklebt, roof1.jpg und wall1.jpg, jeweils 256x128 Pixel groß. Beide werden vorab geladen:
TextureManager.getInstance().addTexture("roof1.jpg", new Texture(getAssets().open("3dobjects/roof1.jpg")));
TextureManager.getInstance().addTexture("wall1.jpg", new Texture(getAssets().open("3dobjects/wall1.jpg")));
Das Objekt wird geladen mit:
objects = Loader.loadOBJ(objStream, mtlStream, 1f);
Dabei sind die Streams natürlich die passenden zu den Files house_1.obj und house_1.mtl. Ich habe in der house_1.mtl nachgesehen, dort werden die beiden Texturen referenziert als:
map_Kd roof1.jpg
...
map_Kd wall1.jpg
Soweit funktioniert auch alles, es wirft keine Fehler, bloß in der 3D-Ansicht ist von den Texturen nichts zu sehen, das Haus hat ein einfarbig oranges Dach und graue Wände.
Verdächtig ist: Orange und grau sind zufälligerweise die "gemittelten" Farben von Dach bzw. Wand. Es schaut fast so aus, als wären die Texturen zwar da, aber... "unendlich unscharf". Denn wenn ich in Blender die Textur-Bilder entferne und einfach nur als Farben z.B. rot und weiß einstelle, wird das Objekt dementsprechend richtig eingefärbt. Das Orange kann nur aus der Texturdatei kommen, aber die hat eben nicht nur orange Pixel, sondern... Dachschindeln. Die Wand, eigentlich ein hübsches schwarz-weißes Fachwerk, wird zu grau.
Der Textur-Manager funktioniert mit anderen Texturen, die ich auf z.B. Primitives.getPlane lege, d.h. wird eine geladene Bodentextur wunschgemäß dargestellt.
Das verwendete Testgerät ist ein Nexus 7. Auf einem LG Optimus 3D derselbe Effekt.
Objekt als 3ds statt als obj exportiert und geladen mit Loader.load3DS() - derselbe Effekt.
Was übersehe ich?
Dreidimensionale Grüße
Uwe