Licht
Licht ist eine wichtig Sache in Spielen den Licht sorgt erst für die
gewünschte Atmosphäre.
fangen wir als erstes mit der Richtungsbeleuchtung an das ist eigentlich ganz
einfach:
Graphics3D 640, 480 SetBuffer BackBuffer() AmbientLight 20, 20, 20Global camera=CreateCamera() Global cylinder=CreateCylinder(30) PositionEntity cylinder, 0, 0, 5 Global light=CreateLight(1)PositionEntity light, 0, 2, 4While Not KeyHit(1) TurnEntity cylinder, 1, 1, 1WireFrame (0)UpdateWorld RenderWorld Flip Wend
|
"Ambientlight 20, 20, 20": kennen wir ja schon bereits aber wenn wir schon
mal bei Licht sind. Es ist einfach nur zum ändern der Hintergrundbeleuchtung. Die Zahlen geben den Farbanteil an. Die Farbe des erstellten Lichtes kann man natürlich auch ändern das macht man mit "LightColor light, rot, grün, blau". Die Lichtstärke ändert man mit "Lightrange light, 75" hier ist die Lichtstärke "75". Es gibt aber nicht nur die Richtungsbeleuchtung sondern auch noch: - Punktbeleuchtung - Scheinwerferlicht Die Lichtart kann man ändern indem man die entsprechende Zahl für die Beleuchtungsart in die Klammern von CreateLight() einsetzt Richtungsbeleuchtung=1, Punktbeleuchtung=2, Scheinwerferlicht=3. Wenn man einen Scheinwerfer verwendet dann kann man natürlich auch den Lichtkegel verändern das macht man mit "LightConeAngles light, 0, 2" die erste Zahl steht für den Innenradius des Kegels und die zweite für den äußeren. Mehr braucht man eigentlich nicht fürs Licht wissen. |
Effekte
Kommen wir nun zu ein paar Effekten mit denen man zum Beispiel Wasser
erstellen kann.
Wir benötigen als erstes eine Wasser und Steintextur die könnt ihr euch einfach
abkopieren.
Sie liegen aber auch im Ordner "Bilder". Und hier der Quellcod:
Graphics3D
640,
480 SetBuffer BackBuffer()Global camera=CreateCamera()PositionEntity camera, 0, 0, -40Global wasser=LoadTexture( "wasser.bmp" )Global stein=LoadTexture( "stein.bmp" )Global cube1=CreateCube()PositionEntity cube1, 0, 5, 0ScaleEntity cube1, 10, 10, 0.5EntityTexture cube1, steinGlobal cube2=CreateCube()PositionEntity cube2, 0, 0, 0ScaleEntity cube2, 10, 10, 0.5EntityTexture cube2, wasserEntityAlpha cube2, 0.3While Not KeyHit(1) TurnEntity cube1, 1, 0, 0 TurnEntity cube2, 1, 0, 0 UpdateWorldRenderWorld Flip Wend |
Wasser Stein
Mit "EntityAlpha variable, wert zwischen 0 und 1" kann man also
einen Körper leicht oder auch stark durchsichtig
erscheinen lassen. Um so größer der wert desto undurchsichtiger
wird der Körper.
|