Hi,
Ich habe mit Blender v2.49b ein Modell erstellt, welches aus mehreren kleinen Teilmodellen besteht die ich mit Umschalt+F1 hinzugefügt habe. Im resultierenden Gesamtmodell gibt es nun 3 Materialien die eine Textur haben, die restlichen bestehen lediglich aus Farbwerten.
Exporte ich nun das Modell in das .obj Format, somit stimmt eigentlich alles, bis auf die Einträge eines Teilmodells (falsches Bild und Falsche Materialbezeichnung, so wie s früher war, da aber .tga beim Einlesen mit Java nicht unterstützt wird hab ichs in png umgewandelt)
Gut das ist nicht das Problem, das kann ich in der .obj und der .mtl von Hand ändern.
Wenn ich nun mit Hilfe des Wavefront Object Loaders das Modell lade, habe ich das Problem, dass nur eine Textur/Material verwendet wird und das aber für das gesamte Modell, nicht die einzelnen Texturen für die Teilmodelle, so wie ich es eigentlich will.
Hier die Dateien:
platine_e.mtl
platine_e.obj
Das Bild wie es in Blender ist und auch in meinem Programm sein sollte:
Und so das Bild wie es ist ( die Objekte sind alle da nur haben alle diesselbe Textur ):
So und nun der Code, der das Object Laden soll:
Also eigentlich nichts wildes, soweit ich das verstanden habe, sollte der Loader ja das Mesh, Materialien und Texturen alle mit laden, sodass ich nur noch die BranchGroup zurück geben muss.
Lichter sind auch gesetzt ( das Feuerwerk ist einfach nur ein Hintergrundbild ).
OS: Kubuntu 10.04.1 LTS 64-bit
Wäre cool wenn mir jemand sagen könnte wo ich hier den Fehler mach.
Falls noch weitere Angaben benötigt werden, einfach nachfragen.
Grüße
Manny
Ich habe mit Blender v2.49b ein Modell erstellt, welches aus mehreren kleinen Teilmodellen besteht die ich mit Umschalt+F1 hinzugefügt habe. Im resultierenden Gesamtmodell gibt es nun 3 Materialien die eine Textur haben, die restlichen bestehen lediglich aus Farbwerten.
Exporte ich nun das Modell in das .obj Format, somit stimmt eigentlich alles, bis auf die Einträge eines Teilmodells (falsches Bild und Falsche Materialbezeichnung, so wie s früher war, da aber .tga beim Einlesen mit Java nicht unterstützt wird hab ichs in png umgewandelt)
Gut das ist nicht das Problem, das kann ich in der .obj und der .mtl von Hand ändern.
Wenn ich nun mit Hilfe des Wavefront Object Loaders das Modell lade, habe ich das Problem, dass nur eine Textur/Material verwendet wird und das aber für das gesamte Modell, nicht die einzelnen Texturen für die Teilmodelle, so wie ich es eigentlich will.
Hier die Dateien:
platine_e.mtl
platine_e.obj
Das Bild wie es in Blender ist und auch in meinem Programm sein sollte:
Und so das Bild wie es ist ( die Objekte sind alle da nur haben alle diesselbe Textur ):
So und nun der Code, der das Object Laden soll:
Java:
private BranchGroup loadObj(String path)
{
Scene scene = null;
ObjectFile objFileloader = new ObjectFile(ObjectFile.RESIZE);
try
{
scene = objFileloader.load(path);
}
catch (Exception e)
{
scene = null;
System.err.println(e);
}
if (scene == null)
System.exit(1);
BranchGroup branchGroup = scene.getSceneGroup();
return branchGroup;
}
Also eigentlich nichts wildes, soweit ich das verstanden habe, sollte der Loader ja das Mesh, Materialien und Texturen alle mit laden, sodass ich nur noch die BranchGroup zurück geben muss.
Lichter sind auch gesetzt ( das Feuerwerk ist einfach nur ein Hintergrundbild ).
OS: Kubuntu 10.04.1 LTS 64-bit
Wäre cool wenn mir jemand sagen könnte wo ich hier den Fehler mach.
Falls noch weitere Angaben benötigt werden, einfach nachfragen.
Grüße
Manny