Tutorials

german Realistic Water german


Die Texturen

Als erstes die Erstellung der benötigten Texturen. Die Textur "water" ist beliebig wählbar und eine .jpg im RGB-Modus (Baseline-Standard).

shot
meinemap/water.jpg (50%)

Die Textur "env_water" ebenso allerdings ist sie schwerer zu bekommen. Dazu müssen wir eine Testmap bauen. Sie sollte lediglich aus der Skybox (mit Skylight), eventuell aus einem Skyportal oder eurem Grundterrain (bei Outdoor - Maps) und einem info_playerstart bestehen. Nach dem Kompilieren startet ihr eure map (mit dem devmap [mapname] - Befehl) und gebt in die Konsole folgendes ein:

cg_draw2d 0
cg_drawgun 0

Danach wechselt ihr in die Ego-Perspektive und macht 2 Screenshots von der Map. Dabei stellt ihr euch in die Mitte und macht aller 90° einen Shot (2 sollten reichen).

Tipp: nach Möglichkeit sollen nicht zu helle Stellen auf den Shots zu sehen sein.
shotShot1 (25%) shotShot2 (25%)

Jetzt müssen wir die beiden Shots mit einem Grafikprogramm noch zusammenfügen. Dann noch auf ein Texturmaß bringen (1024x1024 ist bei einer Environment - Textur günstig). Nun müssen wir noch für ein wenig Unschärfe sorgen - einfach einen Filter oder Effekt benutzen und die Textur ein bisschen unscharf machen. Zum Schluss noch aufhellen (um ca. 75%) und als .jpg speichern.

shot
meinemap/env_water.jpg (25%)
Der Shader
textures/mymap/water // Name der Textur (im Radianten)
{  
qer_editorimage textures/mymap/water // Bild der Textur im Radiant
sort banner // von unten durch Wasser sehen
qer_trans 0.8 // Transparenz im Radiant
surfaceparm nonsolid // man kann durchgehen
surfaceparm nonopaque // durchsichtig
surfaceparm trans // durchsichtig 2
surfaceparm water // Wassereigenschaften
q3map_material Water // Wassereigenschaften 2
tessSize 128 // zerteilt Brush in 128x128 Brushes
deformvertexes normal 0.1 1.85 // Wellenbewegung
deformvertexes wave 128 sin 0 1 0.3 2 // Wellenbewegung 2
    {  
map textures/mymap/water // Grundtextur
blendFunc GL_ONE GL_SRC_ALPHA // Transparenz
rgbGen const ( 0.5 0.5 0.5 ) // schwächt die Farben ab
alphaFunc GE128 // filtert Schwarz heraus
alphaGen const 1.0 // Alpha-Channel Eigenschaft
tcmod scroll 0 -0.25 // Bewegung der Textur (optional)
    }  
    {  
map textures/mymap/env_water // Env - Textur (Spiegeleffekt)
tcGen environment // Environment - Eigenschaft
rgbGen const ( 0.5 0.4 0.4 ) // (Rot stärker als Grün und Blau)
blendFunc GL_ONE GL_ONE // Transparenz
    }  
    {  
map textures/mymap/env_water // Env - Textur (Spiegeleffekt)
tcGen environment // Environment - Eigenschaft
blendFunc GL_DST_COLOR GL_ZERO // Transparenz
    }  
    {  
map $lightmap // Lightmapstage
blendFunc GL_DST_COLOR GL_ZERO // Transparenz
    }  
}  

Shader und Texturen in eine .pk3 gepackt und in den Base-Ordner verschoben.

Wichtig: Den Eintrag in die shaderlist.txt (…Base/shaders) nicht vergessen!
Ingame

Um das Wasser in eure Map zu bekommen, erstellt ihr einen Brush mit der "system/caulk_water" Textur und belegt die sichtbare(n) Seite(n) mit unserer "meinemap/water" Textur.

shot

Da wir nun das Wasser in unserer Map haben, können wir kompilieren.

shot

Viel Spaß damit! wink
up
Home | Contact | Sitemap | Imprint | Valid CSS, XHTML © 2009 Darth NormaN