Loadterrain und LOD-Fehler?

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

Puccini

Betreff: Loadterrain und LOD-Fehler?

BeitragDi, März 18, 2008 23:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!
Sorry für die vielen Spams, aber ich hab noch was entdeckt:

wenn ich ein Terrain lade aus einer highmap, macht doch blitz das lod.

wenn ich nun 2 terrains nebeneinander positioniere, wird das eine, was nahe an der camera ist richtig mit lod versorgt, das 2. aber nicht!
hier mal ein screen:
user posted image

warum wird as obere so detailiert dargestellt??

wenn ich dann rangehe, wirds normal dargestellt und das ander fängt so an!

ist das irgendwie zu umgehen?
-=Achtung=-
Suche Hobby-Modelliere der hin und wieder bock hat ein kleines Objekt zu erstellen. Bei Interesse PM
www.ragesoft.de
Passwortmanager: http://ragesoft.de/index.php?o...;Itemid=39

hectic

Sieger des IS Talentwettbewerb 2006

BeitragMi, März 19, 2008 1:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Das ist schon richtig. Denn mit TerrainDetail gibt man an, wieviele Polygone maximal pro Terrain angezeigt werden sollen. Wenn nun ein Tarrain zur hälfte abgedeckt ist, so wird in der sichtbaren Hälfte eben doppelt so dicht dargestellt. So das am Ende wieder die maximal eingestellte Anzahl an Polygonen angezeigt wird. Daher sollte man nicht mehrere Blitzterrains nebeneinander legen, sondern lieber gleich ein größeres nehmen. Mit TerrainDetail wird eben nur die angegebene Anzahl an Polygonen angezeigt. Egal wie groß das Quellbild ist.
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D

Puccini

BeitragMi, März 19, 2008 1:34
Antworten mit Zitat
Benutzer-Profile anzeigen
also müsste ich mir eine funktion schreiben die ermittelt wie nahe ein objekt ist und daraus wieviele polygone es haben soll??

ach ja,

was ist besser:

8-loadterrains nebeneinander
oder
8-loadmesh nebeneindaer?

wobei terraindetail auf 4000 steht und ein mesh ca 4000 tris hat...
-=Achtung=-
Suche Hobby-Modelliere der hin und wieder bock hat ein kleines Objekt zu erstellen. Bei Interesse PM
www.ragesoft.de
Passwortmanager: http://ragesoft.de/index.php?o...;Itemid=39
 

Dreamora

BeitragMi, März 19, 2008 7:58
Antworten mit Zitat
Benutzer-Profile anzeigen
du kannst nicht mehrere LoD terrains haben wenn du nicht ihre aktualisierungsrate via HideEntity (temporär über die UpdateWorld aufrufe) runterdrehst. Denn dann werden die deine Performance auf 0 FPS runterziehen mit grosser Wahrscheinlichkeit. Der echtzeitupdate der geometry mit ersetzen etc ist relativ rechenintensiv.

Bei statischen Meshes könntest du easy 16'000 pro Mesh nehmen und wärst in etwa auf der gleichen Performance. Das liegt daran, dass das mesh nicht die ganze zeit aktualisiert werden muss.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Puccini

BeitragMi, März 19, 2008 9:26
Antworten mit Zitat
Benutzer-Profile anzeigen
also soll ich für mein level-tiling lieber statische mesh nehmen anstelle des blitzterrains??

Very Happy

kann es zudem:

in 3ds max zeigt es mir 312 flächen an wenn ich ein objekt auswähle.

exportiert als b3d zeigt es mir unter trisrendered() dann über 800 an! sollten das nich nur an die 600 sein da eine fläche aus 2 dreiecken besteht??
-=Achtung=-
Suche Hobby-Modelliere der hin und wieder bock hat ein kleines Objekt zu erstellen. Bei Interesse PM
www.ragesoft.de
Passwortmanager: http://ragesoft.de/index.php?o...;Itemid=39
 

Dreamora

BeitragMi, März 19, 2008 10:01
Antworten mit Zitat
Benutzer-Profile anzeigen
wenn du mit quads gearbeitet hast ja. aber 3D Studio Max wie eigentlich jedes Modelierungprogramm erlaubt n-Ecke, nicht nur 3 und 4 Ecke.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

hectic

Sieger des IS Talentwettbewerb 2006

BeitragMi, März 19, 2008 15:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Puccini hat Folgendes geschrieben:
also müsste ich mir eine funktion schreiben die ermittelt wie nahe ein objekt ist und daraus wieviele polygone es haben soll??


Das könnte man sicherlich machen und alle paar Zeiteinheiten diese über TerrainDetail neu bestimmen. Allerdings wird man nie eine 100%ige Übereinstimmung bei Übergang zum nächsten Terrain (also die Fuge) hinbekommen.

Allerdings wüsste ich gerne, was du genau machen willst. Brauchst du eine große Fläche oder - wie es mir langsam vorkommt - eher ein ''Streifen'' wo eine hügelige Landschaft gezeichnet wird. Denn beim zweiten würde es bestimmt besser kommen, wenn man das ganze auf ein leicht abgewandeltes Meshterrain umsetzt.

Also in der Form:

Zitat:
._______.
|_______|
|_______|
|_______|
|_______|
|_______|
|_______|


Jeder Streifen (horizontal) representiert ein Mesh, welche übereinander gelegt einen langen Streifen (vertikal) ergeben.
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D

Puccini

BeitragMi, März 19, 2008 16:16
Antworten mit Zitat
Benutzer-Profile anzeigen
naja, also ich mach das zur zeit so:

es werden das gebiet wo der spieler sich bfinded und alle 8 angrenzenden gebiete geladen

Code: [AUSKLAPPEN]
xxx
xox
xxx

die o is das aktuelle gebiet.
Die anderen werden mit geladen und alle Objekte acuh um beim näherkommen des spielers dies darzustellen.
wenn der spieler einen gewissen bereich nicht verlässt, wird nichts neu geladen.
wenn er allerdings den aktuellen bereich (nicht ganz so gross wie eine sone landschaft) überschreitet werden alle Objekte die zu weit sind entfernt, die elvel werden neu geladen udn alle objekte die in doppelter reichweite sind auch.

XD klingt kompliziert, es funktioniert aber.
-=Achtung=-
Suche Hobby-Modelliere der hin und wieder bock hat ein kleines Objekt zu erstellen. Bei Interesse PM
www.ragesoft.de
Passwortmanager: http://ragesoft.de/index.php?o...;Itemid=39
 

Dreamora

BeitragMi, März 19, 2008 16:28
Antworten mit Zitat
Benutzer-Profile anzeigen
dann kannst du blitzterrains mehr oder weniger vergessen.
Da nimmst du am einfachsten ein eigenes level format für das mesh terrain, aus mehreren gründen:

1. Detail handling (was weiter weg ist muss zb nicht alle 6 meshlayer für 6 texturen haben, da reicht der vorherrschende zb)
2. Streaming, damit du es in echtzeit nachladen kannst, wenn gewünscht sogar mit gespeicherten detail leveln und so
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Puccini

BeitragMi, März 19, 2008 16:32
Antworten mit Zitat
Benutzer-Profile anzeigen
naja, das mit streaming hab ich mir auch schon überlegt Very Happy

leider dauert es 1-2 sec bis 3-4 neue objekte geladen sind udn da ruckelt es.

daher hab ich mir gedacht, das ich alle bereits geladenen Mesh in ein type stecke, und wenn ich den level erweitere geht er erst diese field durch und wenn das neue objekt schon da drin steht kopiert er es einfach!

das wäre doch am einfachsten oder?

oder soll ich einfach schon beim spiel start alle Objekte laden und im type ablegen? das frisst aber ram und resourcen....
-=Achtung=-
Suche Hobby-Modelliere der hin und wieder bock hat ein kleines Objekt zu erstellen. Bei Interesse PM
www.ragesoft.de
Passwortmanager: http://ragesoft.de/index.php?o...;Itemid=39
 

Dreamora

BeitragMi, März 19, 2008 16:37
Antworten mit Zitat
Benutzer-Profile anzeigen
ersteres klingt besser.
Was ebenfalls wichtig ist, ist das du keine texturierten modelle lädst bzw. wenn texturiert dann DDS texturen die schon mipmaps enthalten.

denn der grösste teil der ladezeit geht einzig und alleine für die erzeugung der mipmaps der texturen drauf. der rest geht in <= 100ms ohne probleme (ausser du hast noobische modelle mit 20'000 polygonen und mehr)

DDS mit DXT Kompression erhöhen allgemein die geschwindigkeit weil sie weniger bandbreite schlucken da sie auch auf der grafikkarte komprimiert bleiben.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Puccini

BeitragMi, März 19, 2008 16:52
Antworten mit Zitat
Benutzer-Profile anzeigen
dds?? o.O

danke für den tip! Noch nie gehört XD

ich nutze png weil die schön klein sind und keine verluste von bildinformaitonen beinhlten Very Happy

kann ich diese dds texturen genauso wie png mit der b3d-pipeline verwenden??
-=Achtung=-
Suche Hobby-Modelliere der hin und wieder bock hat ein kleines Objekt zu erstellen. Bei Interesse PM
www.ragesoft.de
Passwortmanager: http://ragesoft.de/index.php?o...;Itemid=39
 

Dreamora

BeitragMi, März 19, 2008 16:54
Antworten mit Zitat
Benutzer-Profile anzeigen
sollte eigentlich

DDS = DirectX Surfaces
Sind ein hardware komprimiertes format das neben den normalen infos auch zusatzinfos wie eben die mipmaps speichern kann. B3D unterstützt DXT 1,3,5
um DDS zu bekommen gibts von NVIDIA und ATI export plugins.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Puccini

BeitragMi, März 19, 2008 17:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Ok, danke !!

Ich werd mich sogleich ranmachen Very Happy

Noch eine Frage:

da ich die Objekte ja jetzt wenn sie noch ncht vorhanden sind in einem Type speicher und mit hideentity verstecke, damit sie nicht im weg rumstehen. Verrbauchen die trotzdem ressis auser speicher??
Und ist diese Methode (Type durchlaufen (wenn lange gespielt ca 300-500 einträge)+copyentity) schneller als jedes objekt einzeln zu laden??

vorher hatte ich es so:
objekt wird geladen->lastloadentity wird gesettz
wenn das näcshte objekt gleich dem davor ist kopieren, sonst lastloadentity setzten.

bei meinem leveleditor sortier ich alle Meshs beim speichern nach den namen, so das es dann beim laden halt mit lastloadentity funktioniert.

soll ich lieber das beibehalten oder so verfahren..

ach ja XD

jetzt ist es so:
lastloadentity gibts immer noch,und wenn es übereinstimmt wird das kopiert, sonst wird der type durchlaufen.
-=Achtung=-
Suche Hobby-Modelliere der hin und wieder bock hat ein kleines Objekt zu erstellen. Bei Interesse PM
www.ragesoft.de
Passwortmanager: http://ragesoft.de/index.php?o...;Itemid=39
 

Dreamora

BeitragMi, März 19, 2008 17:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Sie verbrauchen Speicher und ein wenig CPU.
Solange du nicht unzählige verschiedene Entities hast, sollte das aber kein Problem sein.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Puccini

BeitragDo, März 20, 2008 22:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Eine DDS zu erhalten is garnich so einfach!

Ich habs bisher noch net geschaftt..

wie soll das einfach gehen??

Gehn auch tga??
sind die besser als png oder schlechter?
-=Achtung=-
Suche Hobby-Modelliere der hin und wieder bock hat ein kleines Objekt zu erstellen. Bei Interesse PM
www.ragesoft.de
Passwortmanager: http://ragesoft.de/index.php?o...;Itemid=39

Arrangemonk

BeitragDo, März 20, 2008 22:32
Antworten mit Zitat
Benutzer-Profile anzeigen
wie dds erhalten is scher?
ati compressinator nehmen und deine tgas da durchjagen pff Very Happy
ingeneur
 

Dreamora

BeitragFr, März 21, 2008 0:11
Antworten mit Zitat
Benutzer-Profile anzeigen
oder nvidias photoshop export plugin. Das lässt sich in eigentlich jedem grafikprogramm verwenden.
dort kann man auch die mipmaps einstellen, DXT format wählen etc.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Who

BeitragFr, März 21, 2008 12:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Plugin für GIMP: http://nifelheim.dyndns.org/~cocidius/dds/
 

Dreamora

BeitragFr, Mai 23, 2008 15:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Unterstützt GIMP mittlerweile keine PS Plugins mehr?
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group