Terraintexuren
Übersicht

TyppiBetreff: Terraintexuren |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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. Demo ![]() 2. Demo ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group