Rollerbote
Hallo,
es gibt sicher einige unter Euch, die sich mit der folgenden Frage schon näher beschäftigt haben:
Ich habe ein größeres Objekt mit einigen Details gebaut. Die kleinen Dinge sollen ab einer bestimmten Entfernung verschwinden. Dazu kann man ja das Gesamtobjekt aufteilen und den Einzelteilen unterschiedliche LOD's zuweisen. Bei einem Testobjekt hat dies auch gut geklappt, im Beispiel im Bild verschwindet der Fuß des Schildes in geringem Abstand, während das Schild selber zu sehen bleibt.
Aber ich bin auf zwei Dinge gestoßen, mit denen ich nicht klar komme:
1. Im runden Fenster des Baumenüs links unten erscheint nur der Teil des Objekts, der in der Models-Liste im Importer an erster Stelle steht (hier der Fuß des Schildes), nicht jedoch das Gesamtobjekt.
2. Als "Bauanleitung" habe ich das Tutorial von Vodhin herangezogen, in dem er das Vorgehen am Beispiel von einem Schild mit Lampen erläutert wird, den Eingeweihten sicher bekannt. Auf seinen beiden Abbidungen wird beim Model-Importing eine Liste mit den Meshes angezeigt, darunter befindet sich ein Schalter "Edit Mesh Settings". Das habe ich in meinem Importer (Version 17.3) nirgends gefunden. Stattdessen habe ich dort den Effekt-Point-Editor.
Wer weiß Rat?

ralfvieh
Es sieht ganz so aus als hättest Du im Importer nur "single sided" eingestellt bei einem Objekt/einer Gruppe, wo die Textur nur auf einer Seite liegt. Eigentlich müsste alles zu sehen sein, wenn sich das Objekt im runden Fenster einmal um 180 ° dreht.
Ralf
Rollerbote
Hallo Ralvieh,
Du hast zwar richtig beobachtet daß der Fuß des Schildes nur einseitig mit Textur belegt ist, das Innere sieht man nämlich nicht. Das Schild selber ist aber zweiseitig belegt, und dies sieht man im Baumenü nicht (aber wie auf dem Bild zu sehen ist, erscheint es, sobald der Fuß eingerastet ist). Die ein- oder zweiseitige Texturbelegung dürfte also nicht der Grund dafür sein, daß das Objekt im Baumenü nur teilweise sichtbar ist.
Belgabor
Das hast Du missverstanden. Ein LOD ist immer ein komplettes Objekt, die einzelnen LODs addieren sich nicht. Im höchsten (nach den Details) LOD aktivierst Du also alle Meshes (bsw aktivierst höher detallierte Versionen des selben Teils), bei den niedrigeren LODs lässt Du entsprechend die Details deaktiviert (oder benutzt Meshversionen mit weniger Details).
Rollerbote
Danke Belgabor.
Verstehe ich das richtig? Ich muss also also ein Objekt praktisch dre-oder viermal importieren, einmal für die Nahdistanz mit allen Feinheiten, dann für eine mittlere Distanz, bei der kleine Teile nicht mehr enthalten sind, und dann für eine große Distanz, für die praktisch nur noch der Umriss zu sehen ist. Jedes mit einem eigenen LOD versehen und gemeinsam als ovl abspeichern?
ich hatte noch keine Zeit zum ausprobieren, aber was sagt da der Speicherplatzbedarf? Der müsste doch entsprechend größer werden, wenn sich quasi drei Objekte überlagern? Oder nutzen die einzelnen LODs ggf. die selben meshes und der Rechner holt sich nur das, was er bei einer bestimmten Entfernung braucht?
Noch eine Frage: in Originalspiel gibt es für die shops eine LOD-Textur, jeder shop im Icon-Format (aber nicht die Icons selbst!). Ich vermute, dieses Icon wird bei großer Entfernung eingesetzt. Wenn ja, wie ließe sich soetwas realisieren?
Demnächst mehr im 1.200Grad-Set.
Belgabor
| quote: |
Original von Rollerbote
Verstehe ich das richtig? Ich muss also also ein Objekt praktisch dre-oder viermal importieren, einmal für die Nahdistanz mit allen Feinheiten, dann für eine mittlere Distanz, bei der kleine Teile nicht mehr enthalten sind, und dann für eine große Distanz, für die praktisch nur noch der Umriss zu sehen ist. Jedes mit einem eigenen LOD versehen und gemeinsam als ovl abspeichern? |
Ja, das ist korrekt. Am einfachsten ist es, wenn Du es so machst, wie Vodhin meint. Tue alles in eine 3D-Modelldatei. Dann kannst Du alle Einstellungen in einem Modelleintrag (im Importer) einstellen und nur die Meshes aktivieren, die Du für einen bestimmten LOD brauchst. Dann kopierst Du einfach den Eintrag und brauchst nur noch den Aktivirungszustand der Meshes für den nächsten LOD anzupassen.
| quote: |
Original von Rollerbote
ich hatte noch keine Zeit zum ausprobieren, aber was sagt da der Speicherplatzbedarf? Der müsste doch entsprechend größer werden, wenn sich quasi drei Objekte überlagern? Oder nutzen die einzelnen LODs ggf. die selben meshes und der Rechner holt sich nur das, was er bei einer bestimmten Entfernung braucht? |
Bei den mestien CS-Objekten schlagen eher die Texturen zu Buche. Ein erhöhter Speicherbedarf ist halt der Preis für reduzierten Renderingaufwand.
| quote: |
Original von Rollerbote
Noch eine Frage: in Originalspiel gibt es für die shops eine LOD-Textur, jeder shop im Icon-Format (aber nicht die Icons selbst!). Ich vermute, dieses Icon wird bei großer Entfernung eingesetzt. Wenn ja, wie ließe sich soetwas realisieren? |
Welche Shops meinst Du denn? Es gibt bei RCT3 die Möglichkeit, sog. Billboard LODs zu erstellen (im 3D-Rendering-Sinn, nicht zu verwechseln mit Billboards im RCT3-Sinn). Das sind im Endeffekt flache Texturen, die immer der Kamera zugewendet sind (2D-Bäume in RCT3 zum Beispiel). Der Importer kann das aber nicht, da bisher keine Nachfrage da war, das zu implementieren. Du bist aber heute schon der Zweite, der danach fragt. Vielleicht schaffe ich doch noch die Möglichkeit.
Rollerbote
Hallo,
erst mal vielen Dank an Belgabor. Ich bin zwar in der Zwischenzeit ein wenig abgeschweift, aber ein Punkt bleibt offen. Wie bekomme ich mehrere models gleichzeitig in eine ovl gespeichert???
Hier ein Beispiel mit Bild: Es soll ein einfacher Mast sein mit einem Würfel oben drauf. Mast und Würfel habe ich als getrennte ASE gespeichert und importiert. Der Mast soll von weitem sichtbar sein, so 500m, beim Würfel reichen 50m. Aber alle Versuche, beide models in eine gemeinsame ovl zu packen sind gescheitert. Es wird immer nur das blau unterlegte Objekt zur ovl gemacht und nur dieses erscheint im Spiel.
Soweit ich die Tutorials dazu verstanden habe ist die getrennte Texturierung von models und gemeinsame Umwandlung zur ovl auch wichtig, wenn ein Objekt mit mehreren Farben einfärbbar sein soll. Ist das richtig?

errt
Du hast da zwei 3D Modelle, oder? Denn er zeigt jeweils 1/1 Mesh an. Du musst ein komplettes Objekt erstellen und alle Einzelteile zu Gruppen zusammenfassen. Dann hast du im Model-Fenster mehrere Meshes zur Auswahl, die sich durch Klick auf das kleine Lämpchen am Anfang der Zeile ein- und ausschalten lassen.
Rollerbote
errt,
ich hoffe, ich verstehe was Du meinst. Ich lade ein Objekt mit mehreren meshes, davon kann ich einige (wohl die grünen, aktiven) zusammenfassen und unter einem bestimmten Namen in den ovl-creator übertragen, per ok. Dann besteht das dort angezeigte model genau aus diesen meshes, daraus kann ich eine ovl machen.
Fasse ich aber weitere oder andere meshes zusammen, dann wird bei der Übertragung das erste model überschrieben und es ergibt sich eine neue ovl mit einem anderen Objekt im Spiel. Das hilft mir nicht weiter, und außerdem weiß ich immer noch nicht, wie, falls es gelingen sollte, mehrere models zu einer ovl zusammengefasst werden.
errt
Du machst es wie auf dem Bild, das du gepostet hast. Aber nicht mit 2 unterschiedlichen Modellen, sondern einem Modell, wobei du den Eintrag in der mittleren Liste 2 mal anlegst und jeweils die benögtigten Meshes anschaltest.
Rollerbote
Lieber errt,
entweder bin ich zu blöd oder wir reden aneinander vorbei oder irgendwie sind unsere Importer unterschiedlich (ich nutze Version 17fix3). Denn irgendwie funktioniert das nicht so wie ich will oder Du vorschlägst.
Nochmal am Beispiel der Lavabar aus dem (künftigen) 1.200 Grad-Set:
Das Objekt mit 16 meshes ist als model geladen (siehe Bild). Im Editor kann ich nun 2 Flächen auswählen, die von weitem zu sehen sein sollen. Die kann ich mit beliebigem Namen, z.B. Lavabarweit, versehen und als model anzeigen lassen. Aber in jedem Fall wird das ursprüngliche model überschrieben, das neue hat nur noch 2 meshes, soll ja so sein.
Wähle ich nun zusätzlich 3 meshes für mittlere Entfernungen aus, so daß 5 meshes unter dem Namen Lavabarmitte abgespeichert werden, so wird das model Lavabarweit überschrieben. Und wähle ich für die Naheinstellung alle meshes, so wird auch Lavabarmitte überschrieben.
Ich habe auch folgendes versucht: Über die +Taste im ovl-creator habe ich das model komplett neu geladen, dann habe ich auch tatsächlich 2 Stück im creator stehen. Das erste kann ich auf 2 meshes reduzieren und das 2. z.B. auf 5. Erhalten die models unterschiedliche Namen, wird aber nur das jeweils blau unterlegte als ovl abgespeichert. Haben die models denselben Namen, wie Du vorgeschlagen hast, dann kommt beim Abspeichern als ovl die Warnung, daß eines der beiden nicht gebraucht und daher nicht als ovl geschrieben wird.
Wird das model einfach kopiert und jedes einzelne mit unterschiedlicher Anzahl von meshes versehen, erscheint ebenfalls die ovl-Warnung.
Ich kann also immer nur ein model in eine ovl packen, nie mehrere. Das sind die Punkte, wo ich nicht weiter komme
Rollerbote
Gut, genau so weit bin ich auch. Aber wie gesagt, es lässt sich nur eines der beiden models als ovl speichern, nicht beide zusammen.
errt
Sind bei dir auch wirklich für alle Modelle entsprechende LODs dabei? Also LODs, die die Modelle verwenden?
(Und warum brauchst du so viele Meshes?^^)
Rollerbote
LODs sind im Beispiel nicht genug dabei, aber ich habe es mit ausreichend vielen ausprobiert.
Die vielen meshes ergeben sich aus der Detaillierung, jedes Glas hat z.B. 9 Flächen. Außerdem sind die notwendig für unterschiedliche texture-stiles.
Belgabor
Tut mir leid, aber irgendwie verstehe ich nicht was Du nicht verstehst. Man sollte normalerweise entweder drei oder vier LODs machen, die drei im Beispiel sind definitiv genug ???
Rollerbote
Jetzt musste ich eine Weile RCT-Abstinenz üben (PC-Probleme und andere Sachen im Kopf

). Aber ein bißchen habe ich weitergemacht. Kein Problem mehr mit mehrfach einfärbbaren Texturen und unterschiedlichen LOD's. Was ich vorher falsch gemacht habe, weiß ich nicht, bei den LOD's war es wohl der Umstand, daß ich die einzelnen meshes getrennt geladen habe. Lädt man das komplette Objekt einmal in den Importer, kopiert es, löscht das copy in den Namen und sucht sich die richtigen meshes raus, klappt es!