BabylonJS - Cámaras

BabylonJS tiene muchas cámaras que se pueden utilizar. A la vez, solo una cámara estará activa para una escena.

En este capítulo, aprenderemos cómo usar cámaras en BabylonJS.

FreeCamera

Veamos ahora cómo funciona la FreeCamera.

Sintaxis

A continuación se muestra la sintaxis de FreeCamera:

var camera = new BABYLON.FreeCamera("FreeCamera", new BABYLON.Vector3(0, 1, -15), scene);

Esta es la posición en la que se coloca la cámara: nuevo BABILONIA.Vector3 (0, 1, -15).

Cambiar la dirección cambiará la dirección. Puede cambiar los valores y ver cómo se comporta la cámara en la escena.

A continuación se muestran los parámetros utilizados por FreeCamera:

  • Name
  • Position
  • Scene

ArcRotateCamera

Esta cámara gira alrededor de un pivote de destino determinado. Puede controlarse con cursores y mouse, o con eventos táctiles. Los parámetros son nombre, alfa, beta, radio y destino.

Sintaxis

var camera = new BABYLON.ArcRotateCamera("ArcRotateCamera", 1, 0.8, 10, new BABYLON.Vector3(0, 0, 0), scene);

ArcRotateCamerapuntos en la dirección + x. Para cambiar la posición de la cámara, utilice elsetPosition propiedad.

camera.setPosition(new BABYLON.Vector3(0, 0, -100));

ArcRotateCamera es una cámara excelente para animar. El siguiente comando le ayudará a rotar la cámara alrededor del objetivo:

scene.activeCamera.alpha += .01;

TouchCamera

El tacto es un tipo de "gesto". Puede estar en una almohadilla o en una pantalla, con los dedos, lápiz, guantes, pies o puntero láser. Cualquier movimiento que se pueda sentir ... se puede considerar un gesto.

Sintaxis

A continuación se muestra la sintaxis de TouchCamera:

var camera = new BABYLON.TouchCamera("TouchCamera", new BABYLON.Vector3(0, 1, -15), scene);

GamepadCamera

Esta cámara está especialmente diseñada para usarse con gamepad.

Sintaxis

A continuación se muestra la sintaxis de Gamepad Camera:

var camera = new BABYLON.GamepadCamera("Camera", new BABYLON.Vector3(0, 15, -45), scene);

DeviceOrientationCamera

Esta cámara está especialmente diseñada para reaccionar a casos de eventos de orientación del dispositivo, como cuando inclina el dispositivo hacia adelante o hacia atrás, hacia la izquierda o hacia la derecha, etc.

Sintaxis

var camera = new BABYLON.DeviceOrientationCamera("DevOr_camera", new BABYLON.Vector3(0, 1, -15), scene);

FollowCamera

FollowCamera está diseñado para seguir cualquier elemento de la escena con una posición. Puede seguir desde atrás, desde delante o desde cualquier ángulo.

Sintaxis

A continuación se muestra la sintaxis de FollowCamera:

var camera = new BABYLON.FollowCamera("FollowCam", new BABYLON.Vector3(0, 15, -45), scene);

VirtualJoysticksCamera

Esta cámara está diseñada para reaccionar a eventos de Virtual Joystick. Los Joysticks virtuales son gráficos 2D en pantalla que se utilizan para controlar cámaras u otros elementos de la escena.

Sintaxis

A continuación se muestra la sintaxis de VirtualJoysticksCamera:

var camera = new BABYLON.VirtualJoysticksCamera("VJ_camera", new BABYLON.Vector3(0, 1, -15), scene);

AnaglifoCámara

AnaglyphCamera se utiliza con gafas 3D rojas y cian. Utiliza técnicas de filtrado de posprocesamiento.

AnaglifoArcoRotateCámara

A continuación se muestra la sintaxis de AnaglyphArcRotateCamera:

var camera = new BABYLON.AnaglyphArcRotateCamera("aar_cam", -Math.PI/2, Math.PI/4, 20, new BABYLON.Vector3.Zero(), 0.033, scene);

AnaglifoFreeCámara

A continuación se muestra la sintaxis de AnaglyphFreeCamera -

var camera = new BABYLON.AnaglyphFreeCamera("af_cam", new BABYLON.Vector3(0, 1, -15), 0.033, scene);

VRDeviceOrientationFreeCamera

VRDeviceOrientationFreeCamera utiliza FreeCamera como base, por lo que las propiedades y métodos de FreeCamera también se encuentran en nuestra VRDeviceOrientationFreeCamera.

Sintaxis

A continuación se muestra la sintaxis de VRDeviceOrientationFreeCamera -

var camera = new BABYLON.VRDeviceOrientationFreeCamera ("Camera", new BABYLON.Vector3 (-6.7, 1.2, -1.3), scene, 0);

WebVRFreeCamera

WebVRFreeCamera utiliza FreeCamera como base, por lo que las propiedades y métodos de FreeCamera también se encuentran en nuestra WebVRFreeCamera.

Sintaxis

A continuación se muestra la sintaxis de WebVRFreeCamera -

var camera = new BABYLON.WebVRFreeCamera("WVR", new BABYLON.Vector3(0, 1, -15), scene);

En la mayoría de las demostraciones, verá attachControl donde la cámara está unida al lienzo.

Ejemplo

camera.attachControl(canvas, true);