N
Nikolaus Lechner
Gast
Hallo
Ich sende im Folgenden eine kurze Beschreibung meines Problems sowie den Code meines Programms:
Ich will ein Object File aus Maya in Java 3D einbinden!
Dazu verwende ich den von Java3D vorgegebenen Object Loader!
Ich kann das Object File auch fehlerfrei einbinden nur habe ich das Problem das die Materialien nicht mit
angezeigt werden!
Hier der Code meiner Branchgroup in welcher ich die Dateien lade und einbinde:
public BranchGroup macheSzene()
{
//Pfadangabe, wo die später verwendeten Objekte liegen
String p = "C:/Progs/DiplProjektv1/";
BranchGroup objWurzel = new BranchGroup();
//Loader
ObjectFile file = new ObjectFile(ObjectFile.RESIZE);
//Erstellen vier leerer Szenen
Scene scene1 = null;
Scene scene2 = null;
Scene scene3 = null;
Scene scene4 = null;
try
{
scene1 = file.load(p+"files/Sphere.obj"); //Laden des Kugel-Modells
scene2 = file.load(p+"files/Saber.obj"); //Laden des Lichtschwert-Modells
scene3 = file.load(p+"files/hintergrund_neuv1.obj"); //Laden des Hintergrund-Modells
scene4 = file.load(p+"files/Shot.obj"); //Laden des Schuss-Modells
}
//Abfrage auf bestimmte Fehler
//Datei nicht gefunden
//Syntaxfehler
//falsches Format)
//wenn diese auftreten -> Fehlermeldung, keine Ausführung
catch (FileNotFoundException e)
{
System.err.println(e);
System.exit(1);
}
catch (ParsingErrorException e)
{
System.err.println(e);
System.exit(1);
}
catch (IncorrectFormatException e)
{
System.err.println(e);
System.exit(1);
}
//Erstellen eines gerichteten Lichtes
DirectionalLight dlicht = new DirectionalLight(new Color3f (1.0f, 1.0f, 1.0f), new Vector3f (-1.0f, -1.0f, -1.0f));
dlicht.setInfluencingBounds (new BoundingSphere (new Point3d(0.0d,0.0d,0.0d), 100.0d));
//Erstellen eines Umgebungslichtes
AmbientLight alicht = new AmbientLight (new Color3f (1.0f, 1.0f, 1.0f));
alicht.setInfluencingBounds (new BoundingSphere (new Point3d(0.0d,0.0d,0.0d), 10.0d));
objWurzel.addChild(scene1.getSceneGroup());
objWurzel.addChild(scene2.getSceneGroup());
objWurzel.addChild(scene3.getSceneGroup());
objWurzel.addChild(scene4.getSceneGroup());
objWurzel.addChild(dlicht);
objWurzel.addChild(alicht);
return objWurzel;
}
Vielleicht könnten mir jemand einen Hinweis geben ob bzw. welchen Fehler ich gemacht habe, sodass die Materialien nicht angezeigt werden.
Meine E- Mail- Adresse: Nikolaus.Lechner@gmx.at
MFG
Lechner Nikolaus
Ich sende im Folgenden eine kurze Beschreibung meines Problems sowie den Code meines Programms:
Ich will ein Object File aus Maya in Java 3D einbinden!
Dazu verwende ich den von Java3D vorgegebenen Object Loader!
Ich kann das Object File auch fehlerfrei einbinden nur habe ich das Problem das die Materialien nicht mit
angezeigt werden!
Hier der Code meiner Branchgroup in welcher ich die Dateien lade und einbinde:
public BranchGroup macheSzene()
{
//Pfadangabe, wo die später verwendeten Objekte liegen
String p = "C:/Progs/DiplProjektv1/";
BranchGroup objWurzel = new BranchGroup();
//Loader
ObjectFile file = new ObjectFile(ObjectFile.RESIZE);
//Erstellen vier leerer Szenen
Scene scene1 = null;
Scene scene2 = null;
Scene scene3 = null;
Scene scene4 = null;
try
{
scene1 = file.load(p+"files/Sphere.obj"); //Laden des Kugel-Modells
scene2 = file.load(p+"files/Saber.obj"); //Laden des Lichtschwert-Modells
scene3 = file.load(p+"files/hintergrund_neuv1.obj"); //Laden des Hintergrund-Modells
scene4 = file.load(p+"files/Shot.obj"); //Laden des Schuss-Modells
}
//Abfrage auf bestimmte Fehler
//Datei nicht gefunden
//Syntaxfehler
//falsches Format)
//wenn diese auftreten -> Fehlermeldung, keine Ausführung
catch (FileNotFoundException e)
{
System.err.println(e);
System.exit(1);
}
catch (ParsingErrorException e)
{
System.err.println(e);
System.exit(1);
}
catch (IncorrectFormatException e)
{
System.err.println(e);
System.exit(1);
}
//Erstellen eines gerichteten Lichtes
DirectionalLight dlicht = new DirectionalLight(new Color3f (1.0f, 1.0f, 1.0f), new Vector3f (-1.0f, -1.0f, -1.0f));
dlicht.setInfluencingBounds (new BoundingSphere (new Point3d(0.0d,0.0d,0.0d), 100.0d));
//Erstellen eines Umgebungslichtes
AmbientLight alicht = new AmbientLight (new Color3f (1.0f, 1.0f, 1.0f));
alicht.setInfluencingBounds (new BoundingSphere (new Point3d(0.0d,0.0d,0.0d), 10.0d));
objWurzel.addChild(scene1.getSceneGroup());
objWurzel.addChild(scene2.getSceneGroup());
objWurzel.addChild(scene3.getSceneGroup());
objWurzel.addChild(scene4.getSceneGroup());
objWurzel.addChild(dlicht);
objWurzel.addChild(alicht);
return objWurzel;
}
Vielleicht könnten mir jemand einen Hinweis geben ob bzw. welchen Fehler ich gemacht habe, sodass die Materialien nicht angezeigt werden.
Meine E- Mail- Adresse: Nikolaus.Lechner@gmx.at
MFG
Lechner Nikolaus