Heightmaps und Level of Detail (LOD)... oder Gott lebt

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

Ayman

Betreff: Heightmaps und Level of Detail (LOD)... oder Gott lebt

BeitragMo, Jun 07, 2004 14:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo zusammen,

Heightmaps stellen bei Blitz3D wirklich eine einfache Möglichkeit dar, um eine Basis für eine natürliche Landschaft zu erzeugen. Mit einer Tileengine bekommt man auch unterschiedliche Texturen hin - so weit, so gut.
Code: [AUSKLAPPEN]

; das Übliche...
land = LoadTerrain ("textures\heightmap_256.jpg")
TerrainDetail land, 2000, True

Was mich aber nervt, ist die sehr sichtbare Anpassung des Terrain-Meshs in der Distanz. Man hat ständig den Eindruck, als wäre Gott noch irgendwo in seiner Welt am werkeln und richtet jenen Berggipfel nach oder walzt vor einem den Rasen platt. Confused

Dieser aktive Gott hat einen Namen: Level of Detail (LOD). Das ist prinzipiell 'ne gute Sache, da es hilft Ressourcen zu schonen, aber bedauerlicherweise scheint es keine Möglichkeit zu geben diesen Mechanismus anzupassen, etwa indem man eine Distanz zur Kamera setzt, in der LOD nicht aktiv ist oder es auch mal ganz auszuschalten.

Die einzige Möglichkeit, die ich kenne ist der TerrainDetail-Befehl. Damit kann ich den Detaillevel zwar deutlich anheben, doch damit erhalte ich im Nahbereich unnötig viele Triangles und in der Distanz ist Gott nach wie vor am Werk. Jedenfalls scheinen mir die Ergebnisse unbefriedigend.

Ach ja, Nebel könnte man noch erzeugen und somit die sichtbare Kameradistanz halbwegs realistisch reduzieren. Jedenfalls erscheint mir das geschickter, als mit CameraRange dem sichtbaren Bereich einfach eine abrupte Grenze zu setzen...

Oder übersehe ich hier was? Gibt es einen Trick, einen Patch oder einen Ersatz, mit dem man LOD besser steuern oder auch ausschalten kann?

Grüße
Ayman
 

Dreamora

BeitragMo, Jun 07, 2004 14:31
Antworten mit Zitat
Benutzer-Profile anzeigen
nein gibt es net.
die einzige variante is ein statisches mesh aus der heightmap zu generieren. dann gibts das problem net
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Markus2

BeitragMo, Jun 07, 2004 18:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Hat beides Vor und Nachteile .
Ich benutze feste Meshes womit mein Spiel gerade so am
Limit kommt .
Mich nervte das auch das wenn man Wasser eingebaut hat das
es mal hier und mal da erschienen ist durch dieses LOD .
Einigermaßen ok ist es wenn du den Detail Level so bestimmst
das dein Gott nicht die Welt verändert .
Eigene Terrain Meshes heißt auch das du TerrainY selbst schreiben mußt ...

Ayman

BeitragDo, Jun 10, 2004 19:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Markus2 schreib:
Zitat:
Eigene Terrain Meshes heißt auch das du TerrainY selbst schreiben mußt ...

Eben. Wie macht man das?
 

Dreamora

BeitragDo, Jun 10, 2004 20:03
Antworten mit Zitat
Benutzer-Profile anzeigen
indem du den punkt selbst berechnest

linepick geht net, der benötigt einen geschlossenen körper
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

eizdealer

BeitragFr, Jun 11, 2004 18:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Ayman hat Folgendes geschrieben:
Markus2 schreib:
Zitat:
Eigene Terrain Meshes heißt auch das du TerrainY selbst schreiben mußt ...

Eben. Wie macht man das?

Höhen der umliegenden Vertices interpolieren.
Zu deutsch: Gucke in welchem Tri du dich befindest. Hol dir alle Vertexhöhen davon. Umso näher der gesuchte Punkt an einem der Vertices ist, umso mehr wird von seinem Y-Wert in den gesuchten Y-Wert übernommen.

Markus2

BeitragSa, Jun 12, 2004 0:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Dreamora hat Folgendes geschrieben:
...
linepick geht net, der benötigt einen geschlossenen körper


Das ist Quatsch was du sagst ,
ist doch nur nen Schnitttest Linie-Dreieck .
Geschlossene Körper brauchste bei Boolesche Operationen .
 

Dreamora

BeitragSa, Jun 12, 2004 10:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Probiers aus wenn du es net glaubst anstatt Müll zu schreiben!
Ich habs bei meinem eigenen Terrain System gesehen!

Wenn der Körper net geschlossen ist, wird Linepick immer 0 ausgeben egal ob jetzt Pickmode 2 drin ist oder nicht, das kratzt das system net.
Frag mich nicht warum es so ist, es is einfach so.

Dachte auch auch mal, es sei nur ein Schnitttest.

Und es als NGC LineRayCast reinzusetzen würde wenig sinn machen denke ich *ggg*
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Markus2

BeitragMo, Jun 14, 2004 12:44
Antworten mit Zitat
Benutzer-Profile anzeigen
@Dreamora

Meine Terrains sind bestimmt nicht geschlossen und bei mir
geht das mit Linepick . Hattest du zufällig beim testen die
Backfaces an und die Flächen waren gegen den Uhrzeigersinn
angeordnet ?
Also ich erzähle hier kein Müll Wink
Ist mir aber auch egal ...
 

Dreamora

BeitragMo, Jun 14, 2004 13:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Backfaces net an ( wozu auch würds ineffizienter machen )
Umgekehrt angeordnet kaum, sonst wäre das Terrain unsichtbar gewesen.

Keine Ahnung woran es lag, wenn ich das rausgefunden hätte, hätte ich das Problem ja damals direkt gefixt Wink
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