Terraintexuren

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

Typpi

Betreff: Terraintexuren

BeitragSa, Dez 06, 2008 22:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

Ich habe Schwierigkeiten beim Erstellen von einem Terrain. Folgende Situation:
Ich habe eine Heighmap für mein Terrain.
Dazu habe ich 3 Texutren die jeweils an verschieden Stellen des Terrain auftreten sollen. Deshalb hat jede Textur noch eine Alphamap.

Was muss ich nun tun dass die Texturen nur dort eingezeichnet werden, wo sie es auch sollen?

Könnt ihr mir helfen? Etwas Code wäre ganz hilfreich zum Verständnis.

MFG
c2d 6600 Asus Striker Extreme GeForce 8800GTX 2GB ram

hectic

Sieger des IS Talentwettbewerb 2006

BeitragSa, Dez 06, 2008 22:55
Antworten mit Zitat
Benutzer-Profile anzeigen
In der Blitzinstallation gibt es einen Ordner Insaner oder so - ich habe meine Verzeichnisnamen geändert. Aber auf jeden Fall beinhaltet dieser Ordner insaner.bb welches genau dieses Beispiel zeigt. Allerdings wird dir diese Methode nicht unbedingt den gewünschten Effekt zeigen, da es doch etwas eingeschränkter ist als es zunächst den Anschein hat. Das ganz würde dann mit Multitexturierung realisiert. Eine andere Möglichkeit sind mehrere Terrains übereinander gelegt, was dann aber enorm an Recourcen braten dürfte.
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D

Der_Schläfer

BeitragSo, Dez 07, 2008 0:52
Antworten mit Zitat
Benutzer-Profile anzeigen
hectic hat Folgendes geschrieben:

Eine andere Möglichkeit sind mehrere Terrains übereinander gelegt, was dann aber enorm an Recourcen braten dürfte.


Es geht noch, ich hab da mal was gemacht. Man muss halt optimieren...

NightPhoenix

BeitragSo, Dez 07, 2008 11:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Aber mehrere Terrains übereinander liefern doch unschöne Z-Buffer Fehler oder?
man muss ja die terrains für einen schönen übergang mit alphatexturen ausblenden und das andere terrain an der selben stelle einblenden... so müsste es dort doch zu fehlern kommen oder täusche ich mich?
 

Matthias

BeitragSo, Dez 07, 2008 12:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Hay. Auch das war lange zeit mein Ziel.

Doch ich denke genau da sind die Grenzen von BlitzBasic erreicht.

Selbst wenn mann ein MeshTerrain benutzt, mit mehreren Layern(Surfaces) kann mann das ZOrder Problem nicht umgehen. Der hintere Berg schein immer etwas durch.

Mit dem insaner beispiel habe ich auch schon rumexperiementiert, doch auch das liefert nicht die nötigen Ergebnisse.

Nun versuche ich eine neue Methode. 3D MeshTiles. Also Tiles die mann aneinader setzen kann. Da mann dort die Möglichkeit hat relativ große Texturen zu verwenden.
Obs was wird weiß ich nicht.

Deshalb mein Tipp: Nimm das was da ist. Also ein BlitzTerrain. Da kannst du dann zB noch 2 DeffusTexturen über deine Grundtextur drüber legen und gut ist.
 

Typpi

BeitragSo, Dez 07, 2008 13:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,
danke für die Antworten.
Ich denke ich werde einfach das Beispiel im Blitz3D Ordner ausprobieren

MFG
c2d 6600 Asus Striker Extreme GeForce 8800GTX 2GB ram
 

BIG BUG

BeitragSo, Dez 07, 2008 17:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
Selbst wenn mann ein MeshTerrain benutzt, mit mehreren Layern(Surfaces) kann mann das ZOrder Problem nicht umgehen. Der hintere Berg schein immer etwas durch.


Das geht schon wenn man es richtig macht. Der unterste Layer MUSS halt immer komplett und ohne Transparenz gerendert werden(damit der Z-Buffer einmal vernünftig geschrieben wird). Außerdem müssen die Polygone der verschiedenen Layer exakt deckungsgleich sein.
Ein getiltes Terrain ist weniger flexibel und braucht mehr Video-Speicher, kann dafür aber leichter mit LOD versehen werden und es kommt zu weniger Overdraw.
B3D-Exporter für Cinema4D!(V1.4)
MD2-Exporter für Cinema4D!(final)

Der_Schläfer

BeitragDi, Dez 09, 2008 15:42
Antworten mit Zitat
Benutzer-Profile anzeigen
BIG BUG hat Folgendes geschrieben:
Zitat:
Selbst wenn mann ein MeshTerrain benutzt, mit mehreren Layern(Surfaces) kann mann das ZOrder Problem nicht umgehen. Der hintere Berg schein immer etwas durch.

Das geht schon wenn man es richtig macht. Der unterste Layer MUSS halt immer komplett und ohne Transparenz gerendert werden(damit der Z-Buffer einmal vernünftig geschrieben wird). Außerdem müssen die Polygone der verschiedenen Layer exakt deckungsgleich sein.


Exakt.

Ich denke diese methode eignet vor allem für eher "kleinere" Terrains von hoher Qualität (die evtl ohne terrain-LOD auskommen, bei hügelgem gelände kann problemlos eher detailarme meshterrains verwenden). Und wie gesagt: Es funktioniert einwandfrei und mit einer gescheiten Performance.

Das Problem ist halt wenn man dann objekte mit alphachannel auf diesem meshterrain plazieren will, weil das funktioniert dann nicht wegen dem zbuffer-problem, oder ich habs jedenfalls nicht hingekriecht.
 

Krischan

BeitragDi, Dez 09, 2008 17:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe mich vor längerem einmal mit diesem Thema beschäftigt, habe es dann aber zugunsten eines quadtreebasierten Static LOD Terrains nicht weiter verfolgt (wobei das mit den Quadtrees auch so eine Sache ist). Aber ich habe mal schnell zwei der besten Demos zusammengebastelt, die das Prinzip zeigen (die erste ist nur Texture Splatting, die zweite zeigt zudem noch einen Terragen-Loader und einen normalenbasierten Sonnenschatten):

Download (7zip SFX Archiv): Texture Splatting Demo 1+2

Die einzelnen Texturlayer kann man übrigens mit Taste 1-4 aus/einschalten (Demo 2: F1-F4), SPACE ist Wireframe und der Rest der Steuerung sollte im Code dokumentiert sein. Beide Demos verwenden Alphamaps, also da wo in der Alphamap schwarz ist wird nix gezeichnet und da wo weiss ist wird voll gezeichnet, dazwischen die Übergänge. Es wird jeweils eine 128x128 Pixel grosse Karte angezeigt.

EDIT: kleiner Fehler in Demo 2, wenn man die Terrain Tiles sehen möchte muss man die Zeile

Global tiles%=(xpts-1)/128

in z.B. Global tiles%=(xpts-1)/32 ändern! Mit Colored=False verschwinden die roten Quadrate wieder


1. Demouser posted image

2. Demouser posted image

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group