11.12.2012 Aufrufe

3D GAMESTUDIO-Magazin Ausgabe 01 | Oktober 20051

3D GAMESTUDIO-Magazin Ausgabe 01 | Oktober 20051

3D GAMESTUDIO-Magazin Ausgabe 01 | Oktober 20051

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

und die zweite Schleife aktiv wird. Da der die Variable „index“ null ist und in der Schleife wieder<br />

um eins hochgezählt wird, wird sie 241 mal durchlaufen.<br />

Der Befehl „vec_for_mesh“ liest die Vertexposition des Vertices der durch den „index“ ausgewählt<br />

wurde und kopiert sie in den vordefinierten Vektor „temp“. Die Z-Komponente des Vektors wir nun<br />

in einer Sinusfunktion verändert, abhängig vom Wert des „counters“ und dem aktuellen<br />

„Winkeleintrag“ (0-360) in dem Array.<br />

Per „vec_to_mesh“ wird die Vektorposition dem per index ausgewähltem Vertice wieder<br />

„aufgezwungen“ - er bewegt sich auf der Z-Achse. Natürlich muß der „index“ dann wieder um eins<br />

hochgezählt werden, um den nächsten Vertex zu bedienen. Wenn alle Vertices ein Stückchen<br />

bewegt wurden, wird die Schleife verlassen. Der Counterwert wird erhöht, um die Vertices beim<br />

nächsten Durchlauf weiterzubewegen. Die Variable „index“ wird auf null gesetzt – das Spiel beginnt<br />

von vorne.<br />

Spielen Sie ein wenig mit der Action – sie eignet sich auch als Grundstock für Gardinen, Wasser<br />

und was sonst noch so „wabert oder wellt“<br />

Weisen Sie diese Action den „Nebelseemodellen“ zu. Nun haben Sie ihren ersten dynamischen<br />

Nebel erzeugt. Lassen Sie uns noch rasch ein Material für den Nebel definieren. Sie werden<br />

überrascht von den Effekten sein, die wie Wasser oder Toxien wirken können.<br />

Schauen wir uns seine Definition an:<br />

material fog_mat<br />

{<br />

}<br />

ambient_red = 10;<br />

ambient_green =10;<br />

ambient_blue = 10;<br />

diffuse_red = 0;<br />

diffuse_green = 100;<br />

diffuse_blue = 0;<br />

specular_red = 0;<br />

specular_green = 255;<br />

specular_blue = 0;<br />

emissive_red = 0;<br />

emissive_green = 100;<br />

emissive_blue = 0;<br />

power = 5;<br />

Die Grundhelligkeit (Ambient) beträgt 10.<br />

Diffuse beschreibt, wieviel Licht und welche Farbe das Material empfangen kann.<br />

Specular setzt einen Glanzpunkt<br />

Emissive bestimmt mit welchem Wert sich die Entity illuminiert.<br />

Power steht für die Größe des Glanzpunktes.<br />

Schreiben Sie in die Action „fog_dynamic folgendes, gleich unter „my.passable = on;“ :<br />

my.material = fog_mat;<br />

Nun haben Sie dem Nebelsee ein Material zugewiesen. Was noch fehlt ist ein dynamisches Licht,<br />

um die Auswirkungen des Effekts richtig zu sehen.<br />

Sie können ein einfaches Modell nehmen (z. B. einen Würfel) und diesem die folgende Action<br />

geben:<br />

action light_dyn<br />

{<br />

<strong>3D</strong> <strong>GAMESTUDIO</strong>-<strong>Magazin</strong> ■ <strong>Ausgabe</strong> <strong>01</strong> | <strong>Oktober</strong> 2005 │39

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!