Position der ViewingPlatform und Visueller Objekte setzen

Status
Nicht offen für weitere Antworten.

Bit2_Gosu

Bekanntes Mitglied
Hi!

Ich bin absoluter java3d anfänger und möchte eine application programmieren, in der sich in einem dreidimensionalen raum boxes bewegen.

Nun hab ich mir das gesamte java3d Tutorial von sun durchgelesen und kenne jetzt die Grundlagen von Java3d.

Allerdings steht im gesamten Tutorial nicht mal, wie ich die Position der Viewing Platform beliebig setzen kann (ich kann sie auf die NominalViewing Position setzen, aber sonst nix...) bzw. wie ich die Position einer box festlegen kann.
Ich kann zwar x, y und z Dimensionen der Box festlegen, aber nicht x,y und z Dimensionen der Position der Box..

Könnt ihr mir in diesen zwei Dingen weiterhelfen?
 

Illuvatar

Top Contributor
Naja, also die Klasse scheinst du ja schon zu kennen. Und mit getViewPlatformTransform() kriegst du von der Klasse eine TransformGroup, mit der du die ViewingPlatform genauso verschieben kannst - genauso wie man alles andere übrigens auch mit TransformGroups verschiebt/dreht/skaliert. Wenn du noch nie was von TransformGroups gehört hast... lies das Tutorial vielleicht besser nochmal ;)
 

Bit2_Gosu

Bekanntes Mitglied
das hat schonmal sehr geholfen! Translation klappt jetzt.

Im Moment hänge ich aber dabei fest, die Orientation der Viewing Platform zu ändern.

Sagen wir, die habe sie wie folgt translatiert:

Code:
Transform3D transform = new Transform3D();
transform.setTranslation(new Vector3d(0,10,0));

Wir wollen nun eine Box im Ursprung beobachten

Code:
Box box = new Box(1, 1, 1, ap);

Dazu müssen wir die Orientierung der ViewingPlatform so ändern, dass sie entlang der y-Achse in Richtung negative Zahlen schaut. Da sie standardmäßig entlang der z-Achse in richtung negative Zahlen schaut (oder nicht?) versuchen wir das wie folgt:

Code:
transform.rotX(Math.PI/2);

Wir rotieren die Plattform im Urzeigersinn um 90° um die x-Achse.

Irgendwie sehe ich so aber nicht die Oberseite des Würfels...
 

Bit2_Gosu

Bekanntes Mitglied
Ok, ich hab das Problem gelöst: Es darf sich nur eine TransformGroup im Szenengraph zwischen ViewingPlatform (oben) und ViewPlatform (unten) befinden. Deshalb muss ich Translationstransform und Rotationtransform zu einem Transform kombinieren und diesen an die einzige TransformGroup anhängen.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Position der ViewingPlatform als Point3d-Objekt? Spiele- und Multimedia-Programmierung 12
B BufferedImage Position Spiele- und Multimedia-Programmierung 8
coolian meine funktion um die höhe des terrains an bestimmter position in diesem fall spieler position zu bekommen giebt nur 0 zurück Spiele- und Multimedia-Programmierung 6
T Position eines Image verändern mithilfe eines Timers Spiele- und Multimedia-Programmierung 6
E Isometrische Tiles mit unterschiedlicher Größe an korrekter Position zeichnen Spiele- und Multimedia-Programmierung 1
BRoll AudioInputStream (Mp3) aktuelle Position Spiele- und Multimedia-Programmierung 0
A .jpg-Bild auf andere Position verschieben Spiele- und Multimedia-Programmierung 4
M [JAVA 3D] Position des Objektes verändern Spiele- und Multimedia-Programmierung 16
W "Kamera"-Position Spiele- und Multimedia-Programmierung 24
M Exakte Position auf Kugel mit Maus picken , Java3d Spiele- und Multimedia-Programmierung 14
T Maus-Cursor-Position manipulieren Spiele- und Multimedia-Programmierung 3
K Position im Raum bestimmen Spiele- und Multimedia-Programmierung 11
F Position eines Objektes auslesen. Spiele- und Multimedia-Programmierung 7
G Wie kann ich die Kamera / View Position ausgeben? Spiele- und Multimedia-Programmierung 3
X Bild auf aktueller position drehen Spiele- und Multimedia-Programmierung 2
D mehrere Graphiken erstellen und ihre Position definieren Spiele- und Multimedia-Programmierung 4
R Java3d ViewingPlatform erst Verschieben und dann RotationsInterpolator Spiele- und Multimedia-Programmierung 0

Ähnliche Java Themen

Neue Themen


Oben