Extrem Grosse maps, wie werden sie geladen?
Übersicht

![]() |
rctunerBetreff: Extrem Grosse maps, wie werden sie geladen? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hey
Ich hab vor mein Spiel in die GTA Richtung gehen zu lassen. Nun ist das Problem dass die Maps extream gross werden.. Sagen wir ich mach eine ca. 5 km lange straße. Unterteile diese in 5 Meshes. Nun fahre ich auf dem 1. Mesh (am anfang). werden die anderen viel weiter hinteren Meshes dann auch von BB3D geladen? Wenn ja dann würde das also heissen dass die ganze Map immer geladen ist?! Das würde dann vermutlich das System total auslasten.. Also wie sollte ichs machen? Wird nun die ganze Map angezeigt/geladen oder imer nur die Teile die in SIchtweite sind? |
||
![]() |
Mr.Keks |
![]() Antworten mit Zitat ![]() |
---|---|---|
in zeiten von riesigen arbeits- und grafikspeichern kannst du durchaus einiges geladen haben, ohne dass es probleme gibt. wenn du clever nachlädst, ist das aber natürlich auch hübsch. | ||
MrKeks.net |
![]() |
rctuner |
![]() Antworten mit Zitat ![]() |
---|---|---|
also macht das BB nicht von allein? auch wenn ich die die Meshes nicht sehe sind sie also Trotzdem da??
Hast du ne idee wie ichs erst laden lassen kann wernns in sichtweite ist? Ist ja bei GTA auch so. Erst wenn man nahe genung dran ist, tauchen erst die Bäume usw. auf.. |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Das geht mit Blitz nicht, da es kein Threaded / Streamed loading besitzt.
Das einzige was du machen kannst ist alles laden und es von blitz verstecken lassen, wenn man es nicht sieht (dann wirds nicht gerendert) |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
rctuner |
![]() Antworten mit Zitat ![]() |
---|---|---|
aha,
also verstecken mit "HideEntity"?? und dann prüfen ob gesehen wird mit "ENTITYVISIBLE"?? richtig? Bringt das denn auch was? Also ist das zu empfehlen und macht sich bei den fps positiv bemerkbar? |
||
coldie |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
wieso geht das nicht?? Man kann doch einfach überprüfen auf welchen koordinaten der spieler ist, und dann bestimmte maps laden und andere aus dem speicher entfernen wenn sich die koordinaten ändern. Oder etwa nicht? | ||
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das wäre schon irgendwie möglich, leider nur mit dem kleinen Hacken, dass während des Ladevorgangs das ganze Spiel still stehen würde. Ist denke ich nicht Ziel des ganzen.
Da klang deine Idee mit Entityvisible schon besser. Es würde sich sicherlich in den FPS bemerkbar machen, vorallem bei langsameren Rechnern. Dann gibt es ja auch noch die Möglichkeiten von Mipmapping (d.h. Objekte kriegen eine kleinere Textur, wenn sie so weit weg sind, dass man eh kaum Details erkennen kann). Das ganze gibt's bestimmt auch für Meshes, wobei das dann natürlich schon sehr viel aufwendiger ist, weil du extra ein Mesh mit wenigen Details anfertigen müsstest. Eins noch aus meiner (bisher eher geringen) Erfahrung mit B3D: Sobald auch nur ein Polygon eines Meshs zu sehen ist, rendert B3D es mit, dass heißt es wäre vorteilhafter ein Level in mehrere Meshs zu unterteilen (man möge mir widersprechen, wenn es Grund dazu gibt) Grüße |
||
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2 |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ja schon
Nur bleibt dein Program so lange stehen, bis alles geladen ist. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
Mr.Keks |
![]() Antworten mit Zitat ![]() |
---|---|---|
wenn man seine eigenen laderoutinen verwendet (was bei großen levels mit vielem sonderzeugs ohnehin fast unumgänglich ist) kann man die map auch stück für stück laden... das heißt, das programm bleibt auch nicht stehen.
@d2006: es geht hier um speichersparen. levelofdetail ist wohl eher etwas zum renderzeit sparen... abgesehen davon wir mipmapping nicht mit dem ziel eingesetzt, das du beschrieben hast. mipmapping soll nur die darstellungsqualli verbessern. (eine hochauflösende textur auf einer winzigen oberfläche flackert..) http://de.wikipedia.org/wiki/MIP-Mapping @rctuner: entityvisible prüft nur, ob irgendein objekt auf der geraden linie zwischen den zwei entityursprüngen ist... hilf also wohl kaum weiter. |
||
MrKeks.net |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Inarie: Die File muss dennoch offen sein, womit sie im RAM ist. Man kann sie also auch gleich komplett reinparsen. | ||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
Jan_Ehemaliger Admin |
![]() Antworten mit Zitat ![]() |
---|---|---|
Was, wenn man eine File öffnet, ist sie im Ram?
Dreamora, bitte der Sandmann ist schon vorbei, du hast die schlafengehenszeit verpasst. Der Trickhierbei ist, das du dein eigenes Levelformat schreiben musst, wo du die Daten Lade optimiert ablegst. + Du Teilst die Daten in Blöcke. (ich würde empfehlen, es bei einer Landschaft von 100x100 km über mehrere Dateien zu machen) Nun lädst du sozusagen immer daten, und schmeißt immer daten weg. Löschen geht schnell genug, um es bei klein genugen blöcken in 1nen durchlauf zu machen, aber das Laden, musst du Poly für Poly machen und versteckt! Ab diesen Punkt sollte dir klar sein, warum du ein eigenes Format brauchst, weil Blitz sowas nciht von Haus aus unterstützt. So, aber nun sind wir noch nciht bei der GTA Qualität. Bei GTA (meiner meinung ab Vice City) Gibt es noch für jeden Block ein alternatives Stück, was deutlich weniger Details hat. diese werden per Culling angezeigt, damit mann Hocvhhäuser schon von weiten sehen kann. um Dreamora nochmal recht zu geben zum schluss, mit Threading währe das einfacher. |
||
between angels and insects |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group