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);