BabylonJS - Kameras
BabylonJS verfügt über viele Kameras, die verwendet werden können. Es ist jeweils nur eine Kamera für eine Szene aktiv.
In diesem Kapitel erfahren Sie, wie Sie Kameras in BabylonJS verwenden.
FreeCamera
Lassen Sie uns nun sehen, wie die FreeCamera funktioniert.
Syntax
Es folgt die Syntax für die FreeCamera -
var camera = new BABYLON.FreeCamera("FreeCamera", new BABYLON.Vector3(0, 1, -15), scene);
Dies ist die Position, an der sich die Kamera befindet - neuer BABYLON.Vector3 (0, 1, -15).
Durch Ändern der Richtung wird die Richtung geändert. Sie können die Werte ändern und sehen, wie sich die Kamera in der Szene verhält.
Im Folgenden sind die von der FreeCamera verwendeten Parameter aufgeführt:
- Name
- Position
- Scene
ArcRotateCamera
Diese Kamera dreht sich um einen bestimmten Zielzapfen. Es kann mit Cursorn und Maus oder mit Berührungsereignissen gesteuert werden. Parameter sind Name, Alpha, Beta, Radius und Ziel.
Syntax
var camera = new BABYLON.ArcRotateCamera("ArcRotateCamera", 1, 0.8, 10, new BABYLON.Vector3(0, 0, 0), scene);
ArcRotateCamerazeigt in die + x Richtung. Verwenden Sie die, um die Position der Kamera zu ändernsetPosition Eigentum.
camera.setPosition(new BABYLON.Vector3(0, 0, -100));
Die ArcRotateCamera ist eine hervorragende Kamera zum Animieren. Mit dem folgenden Befehl können Sie die Kamera um das Ziel drehen:
scene.activeCamera.alpha += .01;
TouchCamera
Berührung ist eine Art "Geste". Es kann sich auf einem Pad oder Bildschirm mit Finger (n), Stift, Handschuh, Füßen oder Laserpointer befinden. Jede Bewegung, die wahrgenommen werden kann, kann als Geste betrachtet werden.
Syntax
Es folgt die Syntax für TouchCamera -
var camera = new BABYLON.TouchCamera("TouchCamera", new BABYLON.Vector3(0, 1, -15), scene);
GamepadCamera
Diese Kamera wurde speziell für die Verwendung mit Gamepads entwickelt.
Syntax
Es folgt die Syntax für die Gamepad-Kamera:
var camera = new BABYLON.GamepadCamera("Camera", new BABYLON.Vector3(0, 15, -45), scene);
DeviceOrientationCamera
Diese Kamera wurde speziell entwickelt, um auf Fälle von Geräteorientierungsereignissen zu reagieren, z. B. wenn Sie Ihr Gerät vorwärts oder rückwärts, links oder rechts usw. neigen.
Syntax
var camera = new BABYLON.DeviceOrientationCamera("DevOr_camera", new BABYLON.Vector3(0, 1, -15), scene);
FollowCamera
FollowCamera ist so konzipiert, dass es jedem Szenenelement mit einer Position folgt. Es kann von hinten, vorne oder aus jedem Winkel folgen.
Syntax
Es folgt die Syntax für die FollowCamera -
var camera = new BABYLON.FollowCamera("FollowCam", new BABYLON.Vector3(0, 15, -45), scene);
VirtualJoysticksCamera
Diese Kamera reagiert auf Virtual Joystick-Ereignisse. Die virtuellen Joysticks sind 2D-Grafiken auf dem Bildschirm, mit denen Kameras oder andere Szenenelemente gesteuert werden.
Syntax
Es folgt die Syntax für die VirtualJoysticksCamera -
var camera = new BABYLON.VirtualJoysticksCamera("VJ_camera", new BABYLON.Vector3(0, 1, -15), scene);
Anaglyphenkamera
Die AnaglyphCamera ist für die Verwendung mit roten und cyanfarbenen 3D-Brillen vorgesehen. Es werden Filtertechniken für die Nachbearbeitung verwendet.
AnaglyphArcRotateCamera
Es folgt die Syntax für die AnaglyphArcRotateCamera -
var camera = new BABYLON.AnaglyphArcRotateCamera("aar_cam", -Math.PI/2, Math.PI/4, 20, new BABYLON.Vector3.Zero(), 0.033, scene);
AnaglyphFreeCamera
Es folgt die Syntax für die AnaglyphFreeCamera - -
var camera = new BABYLON.AnaglyphFreeCamera("af_cam", new BABYLON.Vector3(0, 1, -15), 0.033, scene);
VRDeviceOrientationFreeCamera
Die VRDeviceOrientationFreeCamera verwendet FreeCamera als Basis, sodass die Eigenschaften und Methoden von FreeCamera auch in unserer VRDeviceOrientationFreeCamera enthalten sind.
Syntax
Es folgt die Syntax für die VRDeviceOrientationFreeCamera - -
var camera = new BABYLON.VRDeviceOrientationFreeCamera ("Camera", new BABYLON.Vector3 (-6.7, 1.2, -1.3), scene, 0);
WebVRFreeCamera
Die WebVRFreeCamera verwendet FreeCamera als Basis, sodass die Eigenschaften und Methoden von FreeCamera auch in unserer WebVRFreeCamera enthalten sind.
Syntax
Es folgt die Syntax für die WebVRFreeCamera - -
var camera = new BABYLON.WebVRFreeCamera("WVR", new BABYLON.Vector3(0, 1, -15), scene);
In den meisten Demos werden Sie sehen attachControl wo die Kamera an der Leinwand befestigt ist.
Beispiel
camera.attachControl(canvas, true);