|
|
Tricks für Außenwelten
#235187
11/06/08 12:58
11/06/08 12:58
|
Joined: Oct 2007
Posts: 306 Austria
Alan
OP
Senior Member
|
OP
Senior Member
Joined: Oct 2007
Posts: 306
Austria
|
Hi,
da mein Movement-Code jetzt endlich halbwegs so funktioniert wie er soll (dank einigen eurer Posts hier im Forum, danke nochmal!), wollte ich jetzt fragen, welche Tricks es für Außenlevels so gibt - und ich meine jetzt GROSSE Außenlevels, wie man sie zum Beispiel aus Morrowind kennt (ja, wollte nicht Oblivion sagen, außerdem wäre da die Grafik für ein 3DGS-Game zu utopisch...). Ich habe schon von Features wie dem "Streaming" und "Level of Detail" gehört - wenn es dazu schon Tutorials oder Ähnliches gibt, wäre ich für einen entsprechenden Link sehr dankbar. Ansonsten möchte ich gerne noch wissen, ob es irgendwie möglich ist, in besagtem großen Außenlevel (welcher in meinem Falle ein Tal darstellen soll), die Berghänge mit Wäldern zu übersähen - selbst wenn jeder Baum ab einer gewissen Distanz dank LevelOfDetail nur noch aus einem einzelnen Sprite besteht, wären das ja tausende und abertausende von Sprites... ist soetwas überhaupt möglich...?
Greetz!
Alan
Last edited by Alan; 11/06/08 12:59.
|
|
|
Re: Tricks für Außenwelten
[Re: Alan]
#235254
11/06/08 17:37
11/06/08 17:37
|
Joined: Jan 2002
Posts: 4,225 Germany / Essen
Uhrwerk
Expert
|
Expert
Joined: Jan 2002
Posts: 4,225
Germany / Essen
|
Vergiss GROSSE Aussenlevel. GROSSE Aussenlevel arbeiten mit Streaming oder ähnlichen Verfahren, wie zum Beispiel Mega Textures wie in der aktuellen IdTech Engine. So was gibt es in GameStudio nicht und wenn Du nicht ein sehr sehr erfahrener Programmierer bist, wirst Du es auch nicht reinbasteln können.
LevelOfDetail oder LOD ist eine sehr gute Technik um die fps hoch zu halten. Das Prinzip dabei ist, DInge die nahe sind mit vollen Details darzustellen, weiter entfernte Dinge mit weniger Details. Mehr gibt es da schon nicht zu zu sagen. Bäume an Berghängen sollten kein Problem sein. Man muss es ja nicht gleich mit Abertausenden übertreiben. Ein paar Hundert sollten es auch tun.
Ansonsten gilt für Aussenlevel das Prinzip der Engine so wenig Arbeit wie möglich zu machen. Zum Beispiel LOD benutzen, weit entfernte Entities nicht updaten und wiederverwenden, die Sichtweite durch Nebel begrenzen und camera.clip_far anpassen. Durch geschicktes Leveldesign den Eindruck erwecken, dass die Landschaft weiter geht wo eigentlich gar nichts mehr ist. Durch Kurven im Tal den Bereich des sichtbaren begrenzen usw.
Always learn from history, to be sure you make the same mistakes again...
|
|
|
Re: Tricks für Außenwelten
[Re: Uhrwerk]
#235450
11/07/08 18:15
11/07/08 18:15
|
Joined: Oct 2007
Posts: 306 Austria
Alan
OP
Senior Member
|
OP
Senior Member
Joined: Oct 2007
Posts: 306
Austria
|
Also danke erstmal für die Antwort ^^ Ja also 3DGS hinkt dem "State of the art" ja wirklich ziemlich hinterher, aber andererseits steckt auch mehr Arbeitszeit drin, je besser die Grafik sein soll - von daher ist's ja eigentlich gar nicht so schlimm  Wie LOD arbeitet, wusste ich schon, danke, ich hätte nur gern irgendeine Art von Tutorial dazu, ein einfaches Beispiel wie man es effektiv benutzt würde schon reichen - da braucht man dann auch mehrere Ausführungen des Modells, oder? Automatisch runterrechnen kann es die Engine ja meines Wissens nicht ^^' Ich möchte es gerne vermeiden, die Sichtweite durch Nebel einzugrenzen. Was ich mir aber durchaus vorstellen könnte, wäre eine Art "Panorama-Bild" für die sehr weit entfernten Orte, die dann wie auf einer riesigen Leinwand als EIN Sprite dargestellt werden und dann als eigener Level geladen werden wenn der Spieler einen gewissen Abstand dazu unterschreitet so wie umgekehrt das Gebiet, in dem der Spieler vorher war, dann als Panorama-Bild dargestellt wird... ist doch in etwa die Art, in der Streaming funktioniert oder...?
|
|
|
Re: Tricks für Außenwelten
[Re: Alan]
#235480
11/07/08 21:22
11/07/08 21:22
|
Joined: Jan 2002
Posts: 4,225 Germany / Essen
Uhrwerk
Expert
|
Expert
Joined: Jan 2002
Posts: 4,225
Germany / Essen
|
3DGS hinkt dem "State of the art" keineswegs hinterher - zumindest nicht in dieser Hinsicht bevor hier mal wieder eine Diskussion über Vor und Nachteile von 3dgs ensteht. Die Engine ist einfach nicht auf gigantische Aussenareale angelegt. Mit der Engine lassen sich sowohl kleine als auch mittlere bis große Levels weitgehend problemlos rendern. Das ist auch genau das was am meisten von der 3dgs Klientel gebraucht wird. Das Rendern wirklich riesiger Level ist hingegen ein Spezialfall und wird kaum benötigt. Die Engine sollte halt zu dem Projekt was man verwirklichen will passen. Im Falle riesieger Level bist Du da mit 3dgs genau so schlecht bedient wie mit der Doom3 Engine.
Wie LODs funktionieren kannst Du im Handbuch nachlesen im Kapitel über Entities im Allgemeinen. Für Besitzer der Pro Version gibt es einen automatischen LOD Manager für Modelle, bei den anderen Versionen ist Handarbeit angesagt.
Das mit dem Panorama Bild ist eine ganz nette Idee. Da kannst Du dann ja eine Skybox für benuzten. Mit Streaming hat das allerdings gar nichts zu tun. Levelstreaming besagt lediglich, dass immer nur ein Teil eines Levels im Hauptspeicher ist und der Rest dynamisch, je nachdem wo sich der Spieler hinbewegt, von der Platte nachgeladen wird. Dementsprechend wird der Teil, den der Spieler verlässt entladen. Auf diese Weise entlastet man den Hauptspeicher. Das mit dem Nebel würde ich mir nochmal durch den Kopf gehen lassen. Mann muss es ja nicht derart übertreiben, dass man direkt vor einen Laternpfahl rennt ohne ihn vorher gesehen zu haben. Vernünftig eingesetzt kann Nebel (natürlich im Zusammenspiel mit Clipping) die Renderzeit deutlich verkürzen und der Szene einen gewissen Realismus verleihen.
Always learn from history, to be sure you make the same mistakes again...
|
|
|
Re: Tricks für Außenwelten
[Re: Uhrwerk]
#235563
11/08/08 15:11
11/08/08 15:11
|
Joined: Aug 2003
Posts: 7,439 Red Dwarf
Michael_Schwarz
Senior Expert
|
Senior Expert
Joined: Aug 2003
Posts: 7,439
Red Dwarf
|
Vergiss GROSSE Aussenlevel. GROSSE Aussenlevel arbeiten mit Streaming oder ähnlichen Verfahren, wie zum Beispiel Mega Textures wie in der aktuellen IdTech Engine. Verdammt! Wie haben dann spiele wie Gothic 1/2, Morrowind, u.A. es geschafft ohne streaming und mega textures von IdTech große welten darzustellen? Oh moment! Nein die hatten sowas damals ja noch garnicht. Ging komischerweise aber auch... Wie HeelX Sagt, eine welt im eigenen format abspeichern, und ggf. die welt vllt auch in sektoren aufteilen wie es z.b. in MMORPGs übrig ist um große offene gelände zu unterteilen.
"Sometimes JCL reminds me of Notch, but more competent" ~ Kiyaku
|
|
|
Re: Tricks für Außenwelten
[Re: Michael_Schwarz]
#235679
11/09/08 12:30
11/09/08 12:30
|
Joined: Oct 2007
Posts: 306 Austria
Alan
OP
Senior Member
|
OP
Senior Member
Joined: Oct 2007
Posts: 306
Austria
|
Verdammt! Wie haben dann spiele wie Gothic 1/2, Morrowind, u.A. es geschafft ohne streaming und mega textures von IdTech große welten darzustellen?
Oh moment! Nein die hatten sowas damals ja noch garnicht. Ging komischerweise aber auch...
Ja, genau DAS war auch mein Gedanke hierzu. Aber was meint ihr mit "eine Welt im eigenen Format abspeichern"?
|
|
|
Re: Tricks für Außenwelten
[Re: Alan]
#235767
11/09/08 23:04
11/09/08 23:04
|
Joined: Aug 2005
Posts: 512 Bayern
Schmerzmittel
User
|
User
Joined: Aug 2005
Posts: 512
Bayern
|
Ich habe für meine Außenwelt eine recht simple Methode genommen.
Klingt komisch ist aber so.
Wenn du eine rießige Außenwelt willst, kannst du, sagen wir mal 4 einzelne Terrains erstellen, die an den Rändern genau zusammenpassen.
Dannach kannst du die einfach im WED platzieren.
So hab ich mein Level gemacht. Nur, damit du dir das vorstellen kannst: Ich fliege mit einem Flieger mehr als 4 Minuten von einem Ende zum anderen. Und der ist nicht gerade langsam.
Ich hoffe das deutlich erklärt. (ist nicht meine Stärke).
P.s. Wenn du cam.clip_far auf einen niedrigeren Wert einstellst und dann noch einen leichten Nebel reinsetzt, merkt keiner den Unterschied ob es jetzt ein großes oder viele kleinere Modelle/Terrains sind.
Grüße Schmerzmittel
A7 Com V7.80
|
|
|
Re: Tricks für Außenwelten
[Re: Michael_Schwarz]
#235811
11/10/08 11:10
11/10/08 11:10
|
Joined: Jan 2002
Posts: 4,225 Germany / Essen
Uhrwerk
Expert
|
Expert
Joined: Jan 2002
Posts: 4,225
Germany / Essen
|
Verdammt! Wie haben dann spiele wie Gothic 1/2, Morrowind, u.A. es geschafft ohne streaming und mega textures von IdTech große welten darzustellen? Oh moment! Nein die hatten sowas damals ja noch garnicht. Ging komischerweise aber auch... An der Stelle müsste man sich jetzt über die Definition von "ging" streiten. Morrowind hat ein Parzellensystem benutzt, bei dem beim Wechsel zwischen zwei Parzellen nachgeladen werden musste. Innenbereiche von Gbeäuden wurde auch allesamt extra nachgeladen. Ich denke das fällt nicht unter extra große Level. Die Gothic Engine hat sich neben ihrer Levelgröße vor allem durch das Vorhandensein von massig Bugs, Instabilität, Ladezeiten biblischen Ausmasses und das in die Knie zwingen sämtlicher aktueller Hardware ausgezeichnet. Nicht, dass wir uns falsch verstehen, ich liebe die Gothic Reihe, aber mit der Engine möchte ich kein Spiel erstellen müssen. Einen Gothic Klon ja, klar, aber nichts anderes.
Always learn from history, to be sure you make the same mistakes again...
|
|
|
Re: Tricks für Außenwelten
[Re: Uhrwerk]
#235817
11/10/08 11:47
11/10/08 11:47
|
Joined: Sep 2003
Posts: 5,900 Bielefeld, Germany
Pappenheimer
Senior Expert
|
Senior Expert
Joined: Sep 2003
Posts: 5,900
Bielefeld, Germany
|
Die Gothic Engine hat sich neben ihrer Levelgröße vor allem durch das Vorhandensein von massig Bugs, Instabilität, Ladezeiten biblischen Ausmasses und das in die Knie zwingen sämtlicher aktueller Hardware ausgezeichnet. Das stimmt nicht ganz. Meine Hardware war nie up to date und Gothic 1 lief bei mir völlig problemlos - das einzige, was passt, sind die langen Ladezeiten. Und ich finde es immer noch beeindruckend, wenn man vom Berg ins Tal hinunterschaut und erkennt die Burg/Stadt mit all ihren Konturen, ohne dass die Hälfte in Nebel versinkt. Mich würde immer noch interessieren, wie sie es gemacht haben. Kann auch mit einem sehr geschickten Design zu tun haben.
|
|
|
Moderated by mk_1, Perro, rayp, Realspawn, Rei_Ayanami, rvL_eXile, Spirit, Superku, Tobias, TSG_Torsten, VeT
|