Main Menu

1 Objekt 4 mal darstellen

Started by Gesus, May 06, 2017, 04:16:41 PM

Previous topic - Next topic

Gesus

Hallo!

Ich habe erst vor kurzem angefangen Jpct zu benutzen und bin noch etwas überfordert. Deswegen wollte ich hier mal um Rat fragen.
Ich will ein Programm schreiben, dass ein Objekt von 4 mal auf dem Screen darstellt, aber ich weiß nicht genau wie da vorgehen soll. Ist es möglich 4 verschiedene Kameras auf das selbe Objekt zu werfen oder brauche ich 4 mal das Objekt und je 1 Camera? Oder wären 4 eigene Welten besser? Außerdem wie positioniere ich das ganze am Ende?

Am Ende sollte es z.B. ähnlich zu dem Bild hier aussehen nur eben mit 3D Objekten.



Ich hoffe jemand kann mir weiterhelfen. Vielen Dank schon mal im Voraus!

EgonOlsen

Wenn du 4 Objekte zeichnen willst, dann brauchst du 4 Objekte. Du kannst das Teil einfach einmal laden und dann Kopien davon verwenden. Die greifen auf Wunsche auf die Daten des Ursprungsobjektes zurück: http://www.jpct.net/wiki/index.php?title=Reducing_memory_usage#Make_objects_share_meshes_in_main_memory

Gesus

#2
Entschuldigung, Ich habe mich etwas missverständlich ausgedruckt. Ich möchte das Objekt nicht unbedingt 4 mal haben, ich möchte es nur 4 mal aus verschiedenen Winkeln sehen können. Eventuell lässt sich mein Problem auch mit deinem Vorschlag lösen, aber das weiß ich erst genau sobald ich es implementiert habe. Zur Sicherheit: Gibt es noch andere Möglichkeiten? Also z.b 4 Kameras auf ein Objekt zu richten und diese auf bestimmten Teilen des screens anzuzeigen.

Gesus

Okay, ich habe es jetzt ausprobiert und deine Lösung scheint gut zu klappen. Vielen Dank!

Allerdings habe ich jetzt noch eine Frage zu den rotate-Methoden. Im Bild oben ist der obere Mond ja eine verschobene und um 180° um Z gedrehte Version des Mondes unten. Wenn ich aber obj.rotateZ(180); benutze, liegt das Objekt stattdessen quer im Raum. Durch trial and error habe ich dann rausgefunden, dass Obj.rotateZ(110); den gewüschten Effekt erzielt. Woran liegt das? Verstehe ich die Methode oder den mathematischen Hintergund falsch?

EgonOlsen

Evtl. sitzt der Mittelpunkt nicht exakt in...der Mitte? Sollte er bei einem solchen Objekt aber eigentlich. Probiere mal, nicht mit rotateZ() sondern mit rotateAxis(moon.getZAxis(),...) zu drehen. Wenn du vorher noch andere Drehungen machst, machen rotate?()-Methoden nicht mehr zwagsläufig das, was man intiutiv erwarten würde.