Hilfe

CreateCamera

B3D

Aufruf

kamera% = CreateCamera ([parent%])

Parameter

parent% Identität des Objekts zu dem es hinzugefügt werden soll (optional)


Rückgabewert

Es wird die Identität der Kamera zurückgeliefert.


Beschreibung

Der Befehl CreateCamera erstellt eine virtuelle Kamera und liefert die Identität der Kamera zurück.

Ohne eine Kamera kann keine 3D-Welt dargestellt werden. Bei mehr als einer Kamera ist ein Spiel mit Splitscreen möglich.

Eine 3D-Welt kann nur ins BackBuffer gerendert werden. Falls eine 3D-Szene in ein Image gespeichert werden soll, dann muss man einen Ausschnitt des BackBuffers mit GrabImage oder CopyRect kopieren.

Wurde der Parameter "parent%" angegeben, dann wird diese Kamera zu einem Objekt hinzugefügt. Falls nun ein Parent-Objekt bewegt wird, dann werden alle hinzugefügten Objekte automatisch verschoben. Ein Child-Objekt verschiebt dagegen kein Parent-Objekt mit.

Die Kamera wird normalerweise an der Position 0,0,0 erstellt. Wurde Parent angegeben, dann wird die an der Position des Parent-Objekts erstellt.



In der Zeichnung kann man gut erkennen, dass die Entfernung nicht im Radius betrachtet wird. Das bedeutet: An Seitenrändern erkennt man auch weiter liegende Objekte die in der Mitte nicht zu sehen sind! Beachte das bei deinen Programmen!


Beispiel

Hier wird demonstriert, wie die Farb- und Nebeleffekte der Kamera wirken

Graphics3D 640, 480, 16, 1
SetBuffer BackBuffer()
camera = CreateCamera()
PositionEntity camera, 0, 1, 0
CameraClsColor camera, 190, 185, 180
CameraFogColor camera, 180, 175, 170
CameraFogRange camera, 1, 10
light = CreateLight()
RotateEntity light, 90, 0, 0
plane = CreatePlane()
cube = CreateCube()
RotateEntity cube, 10, 30, 0
PositionEntity cube, 0, 0, 5
EntityColor cube, 100, 150, 200

While Not KeyDown(1)
   If KeyHit(057) = 1 Then
      fog_mode = 1 - fog_mode
      CameraFogMode camera, fog_mode
   End If
   If KeyDown(205) = 1 Then TurnEntity camera, 0, - 1, 0
   If KeyDown(203) = 1 Then TurnEntity camera, 0, 1, 0
   If KeyDown(208) = 1 Then MoveEntity camera, 0, 0, - 0.05
   If KeyDown(200) = 1 Then MoveEntity camera, 0, 0, 0.05
   RenderWorld
   Text 0, 0, "Mit Cursortasten kannst du dich bewegen"
   Text 0, 20, "Mit Leertaste kann Nebel eingeschaltet werden"
   If fog_mode = 0 Then Text 0, 40, "CameraFogMode 0"
   If fog_mode = 1 Then Text 0, 40, "CameraFogMode 1"
   Flip
Wend
End


Siehe auch

CameraClsColor, CameraClsMode, CameraFogColor, CameraFogMode, CameraFogRange, CameraProjMode, CameraRange, CameraZoom

Übersicht 3D Grafik Kamera