Meshterrain Texture Splatting und Normal Lighting
Übersicht

KrischanBetreff: Meshterrain Texture Splatting und Normal Lighting |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich stelle Euch hier eine Lösung vor, die es erlaubt, auf einem Meshterrain mehrere Texturen so ineinander zu faden, dass man nahtlose und weiche Übergänge z.B. zwischen Gras und Fels hat, wahlweise mit mehreren oder nur einem Mesh. Zudem poste ich eine Erweiterung, die eine Normalmap in Verbindung mit Vertexlight zur Beleuchtung verwendet und dadurch den Detailgrad der 128x128 grossen Map erheblich erhöht (simulierte 2048x2048 Heightmap).
Gesteuert werden alle Demos mit der Maus und den Pfeiltasten, Maustasten = 2x schneller fliegen, SPACE = Wireframe. Bei Demo1 können mit Taste 1-5 die einzelnen Meshes ein/ausgeblendet werden, bei Demo 3 kann mit den Tasten Q/W der Sonnenwinkel und mit den Tasten A/S der Sonnenstand vertikal verändert werden um den Licht/Schatteneffekt der Normalmap zu zeigen. Die Maps der Demos sind auf 128x128 Pixel begrenzt, die verwendete Normalmap ist mit 2048x2048 recht gross ausgefallen, wenn die Demo nicht funktioniert einfach mal die Normalmap auf 1024x1024 verkleinern, falls die Grafikkarte mit so grossen Texturen nicht auskommt. Es kann übrigens zu Darstellungsfehlern auf Intel-Chipsätzen kommen. Und durch die hohe Komprimierung der Normalmap kann es vereinzelt zu blockartigen Schatten kommen. Demo 1: Texture Splatting mit mehreren Meshes: Download Demo 246KB ZIP Hier werden mehrere Meshes an derselben Stelle übereinandergelegt, wobei das Basismesh mit FX2 alle Vertices belegt und die darüberliegenden mit Vertexalpha und FX2+32 nur an - durch Alphamaps definierte - Stellen durchscheint. Eine "schlaue" Mesherstellungsfunktion verwendet dabei auch nur Alphawerte die nicht voll transparent sind um die zu zeichnenden Triangles zu reduzieren. Demo 2: Texture Splatting mit nur einem Mesh: Download Demo 246KB ZIP Wie Demo 1, nur halt mit einem Mesh und dafür mit Brushes und Surfaces gearbeitet. Ist ein wenig schneller und ausgereifter als Demo 1. Demo 3: Texture Splatting mit Normal Lighting: Download Demo 1.2MB ZIP Wie Demo 2 nur mit zusätzlichem Mesh mit FX1, auf dem mit Blendmode 4 (DOT3) eine Normalmap als Textur aufgebracht wird, die zusammen mit einer Detailmap und Entityblendmode 2 über das eigentliche Terrain gelegt wird und damit sehr hohe Schattendetails erreicht, was die Map insgesamt realistischer erscheinen lässt. Durch geschicktes Steuern der Entitycolor dieses Meshes kann der Sonnenwinkel simuliert an die "echte" Position der Vertexlichtquelle angeglichen werden und ergänzt diese sehr schön. Screenshot Texture Splatting (Demo 1+2) ![]() Screenshot Texture Splatting mit Normal Lighting (Demo 3) ![]() Wenn Ihr Fragen dazu habt nur zu - ist aber alles gut kommentiert (allerdings auf Englisch, da ich solche Dinger immer auch auf blitzbasic.com poste). Texturen sind von Spiralgraphics/Genetica Viewer und L3DT, zur Maperstellung habe ich wie immer L3DT verwendet (1024er Heightmap auf 128 verkleinert). |
||
![]() |
ozzi789 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Sehr schön!
Sieht super aus, und ist auch schnell mfg |
||
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
![]() |
PSY |
![]() Antworten mit Zitat ![]() |
---|---|---|
super, wollte mich schon länger damit befassen, das kommt gerade richtig ![]() werds mir demnächst mal genauer ansehn. vielen dank ! |
||
PSY LABS Games
Coders don't die, they just gosub without return |
Omenaton_2 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Sehr gut gemachte Landschafstdarstellung.
Irgendwann werde ich sowas wahrscheinlich auch brauchen. Ich werde es bald irgendwann testen wie aufwendig es wäre ähnliche Landschaften samt Editor für mein Spiel zu machen. Aber davon bin ich noch mindestens ein halbes Jahr entfernt. Auf jeden Fall freue mich darüber, daß ich sehe, daß man wirklich vernünftig aussehende Landschaften überhaupt machen kann. |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group