BabylonJS - Fotocamere

BabylonJS ha molte telecamere che possono essere utilizzate. Alla volta, solo una telecamera sarà attiva per una scena.

In questo capitolo impareremo come utilizzare le telecamere in BabylonJS.

FreeCamera

Vediamo ora come funziona la FreeCamera.

Sintassi

Di seguito è riportata la sintassi per FreeCamera:

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

Questa è la posizione in cui è posizionata la telecamera - new BABYLON.Vector3 (0, 1, -15).

Cambiando la direzione cambierà la direzione. È possibile modificare i valori e vedere come si comporta la telecamera sulla scena.

Di seguito sono riportati i parametri utilizzati dalla FreeCamera:

  • Name
  • Position
  • Scene

ArcRotateCamera

Questa telecamera ruota attorno a un dato perno di destinazione. Può essere controllato con i cursori e il mouse o con eventi di tocco. I parametri sono nome, alfa, beta, raggio e target.

Sintassi

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

ArcRotateCamerapunta nella direzione + x. Per modificare la posizione della telecamera, utilizzare ilsetPosition proprietà.

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

ArcRotateCamera è un'ottima fotocamera per animare. Il seguente comando ti aiuterà a ruotare la telecamera attorno al bersaglio:

scene.activeCamera.alpha += .01;

TouchCamera

Il tocco è un tipo di "gesto". Può essere su un tappetino o uno schermo, con le dita, lo stilo, i guanti, i piedi o il puntatore laser. Qualsiasi movimento percepibile ... può essere considerato un gesto.

Sintassi

Di seguito è riportata la sintassi per TouchCamera:

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

GamepadCamera

Questa fotocamera è progettata appositamente per essere utilizzata con il gamepad.

Sintassi

Di seguito è riportata la sintassi per la fotocamera del gamepad:

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

DeviceOrientationCamera

Questa fotocamera è appositamente progettata per reagire agli eventi di orientamento del dispositivo, ad esempio quando inclini il dispositivo in avanti o indietro, a sinistra oa destra, ecc.

Sintassi

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

FollowCamera

FollowCamera è progettato per seguire qualsiasi elemento della scena con una posizione. Può seguire da dietro, davanti o da qualsiasi angolazione.

Sintassi

Di seguito è riportata la sintassi per FollowCamera:

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

VirtualJoysticksCamera

Questa telecamera è progettata per reagire agli eventi del joystick virtuale. I joystick virtuali sono elementi grafici 2D sullo schermo utilizzati per controllare le telecamere o altri elementi della scena.

Sintassi

Di seguito è riportata la sintassi per VirtualJoysticksCamera:

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

AnaglyphCamera

L'AnaglyphCamera è per l'uso con occhiali 3D rossi e ciano. Utilizza tecniche di filtraggio post-elaborazione.

AnaglyphArcRotateCamera

Di seguito è riportata la sintassi per AnaglyphArcRotateCamera -

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

AnaglyphFreeCamera

Di seguito è riportata la sintassi per AnaglyphFreeCamera -

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

VRDeviceOrientationFreeCamera

VRDeviceOrientationFreeCamera utilizza FreeCamera come base, quindi le proprietà ei metodi di FreeCamera si trovano anche sul nostro VRDeviceOrientationFreeCamera.

Sintassi

Di seguito è riportata la sintassi per VRDeviceOrientationFreeCamera -

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

WebVRFreeCamera

La WebVRFreeCamera utilizza FreeCamera come base, quindi le proprietà e i metodi di FreeCamera si trovano anche sulla nostra WebVRFreeCamera.

Sintassi

Di seguito è riportata la sintassi per WebVRFreeCamera -

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

Nella maggior parte delle demo, vedrai attachControl dove la fotocamera è attaccata alla tela.

Esempio

camera.attachControl(canvas, true);