Registriert: Di Jun 22, 2004 17:40 Beiträge: 51 Wohnort: Aachen
ich benutze die Unit3DS mit der Klasse T3DModel von Juan José Montero um 3ds-files zu laden.
nun habe ich mal 3 objekte initialisiert und jeweils aus einer datei geladen. die datei war in allen 3 fällen die selbe, ich wollte auch 3 mal das gleiche model darstellen nun habe ich aber das problem, dass in dem programm, wenn ich das gestartet habe, immer nur eins der drei models gezeichnet wird. die anderen scheint es nicht zu geben.
hat vielleicht schon jemand anderes damit probleme gehabt und kann mir helfen?
(ich hoffe mal hierfür is kein code nötig. ich habe von der klasse T3DModel eine weitere klasse abgeleitet, die bewegungen etc direkt berechnet. deswegen is es etwas schwer den code zu posten .. ich mache auf jeden fall für alle 3 models ModelZAHL.Draw)
Registriert: Mi Jul 17, 2002 12:07 Beiträge: 976 Wohnort: Tübingen
Bei 3ds-Files hat man oft das Problem, dass sie falsch positioniert sind, oder schlicht zu groß sind. Vielleicht werden ja alle gerendert, aber sie sind einfach ned sichtbar. Ein Standard-3DS musst du ungefähr um ein hundertstel verkleinern ( glScalef(0.01, 0.01, 0.01); )
Das gleiche Objekt dreimal zu laden und getrennt zu rendern ist übrigens ziemlich sinnlos
_________________ "Du musst ein Schwein sein in dieser Welt, sangen die Prinzen, das ist so 1.0. Du musst auf YouTube zeigen, dass dir dein Schweinsein gefällt, das ist leuchtendes, echtes Web 2.0." - Hal Faber Meine Homepage: http://laboda.delphigl.com
Registriert: Di Jun 22, 2004 17:40 Beiträge: 51 Wohnort: Aachen
die sind alle gleich groß, und das erste ist ja sichtbar, daher auch richtig positioniert darauf hab ich schon geachtet.
das mit dem laden is so ne sache. wenn ich zB versuche 3 häuser in meine welt zu bekommen, die von mir aus alle gleich aussehen sollen ( )... dann erstelle ich 3 objekte und lad für jedes objekt aus der gleichen 3ds-file.
nunja.. auf jeden fall mach ich das grade so .. vielleicht überleg ich mir ja noch ne sparendere methode, aber es passt noch so.
mir gehts ja auch in erster linie darum, dass sie nich dargestellt werden.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Registriert: Di Jun 22, 2004 17:40 Beiträge: 51 Wohnort: Aachen
hui habs nach längerer suche dann doch gefunden dadurch, dass ich glScale (und das auch noch mit nem faktor 0.002) benutzt habe, wurden die objekte wunderbar kleiner.. zumindest das erste. da ich aber dann beim nächsten objekt wieder den selben faktor benutzt habe, hat er es NOCH viel kleiner gezeichnet ^^
dann hat mans einfach nich mehr gesehen, weils zu klein war.
nen bisschen glPushMatrix davor und glPopMatrix danach hat das problem behoben
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7810 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Du solltest den Tip von LaBoda trotzdem einbauen. Lad nur das Model 1x und zeichne es mehrfach an die entsprechenden Stellen. Das sollte keinen AUfwand darstellen, das zu ändern und du sparst Zeit fürs Laden und Speicher.
(PS: Du musst dich von dem Gedanken freimachen, dass ein Modell in der 3D Welt nur einmal sichtbar sein kann (wie in echt). In deiner Szene gibts kein Früher oder später es gibt nur jetzt. D.h. wenn du das modell an Stelle1 renderst verschiebst unddann an stell2 renderst ist es 2 mal zu sehn, ohne das du 2 Modell benötigst.)
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Mitglieder in diesem Forum: Google [Bot] und 15 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.