BabylonJS - Kameralar

BabylonJS'de kullanılabilecek birçok kamera vardır. Bir sahne için bir seferde yalnızca bir kamera etkin olacaktır.

Bu bölümde, BabylonJS'de kameraları nasıl kullanacağımızı öğreneceğiz.

FreeCamera

Şimdi FreeCamera'nın nasıl çalıştığını görelim.

Sözdizimi

FreeCamera için sözdizimi aşağıdadır -

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

Bu, kameranın yerleştirildiği konumdur - yeni BABYLON.Vector3 (0, 1, -15).

Yönün değiştirilmesi yönü değiştirecektir. Değerleri değiştirebilir ve kameranın sahnede nasıl davrandığını görebilirsiniz.

FreeCamera tarafından kullanılan parametreler aşağıdadır -

  • Name
  • Position
  • Scene

ArcRotateCamera

Bu kamera, belirli bir hedef eksen etrafında döner. İmleçler ve fare ile veya dokunma olaylarıyla kontrol edilebilir. Parametreler ad, alfa, beta, yarıçap ve hedeftir.

Sözdizimi

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

ArcRotateCamera+ x yönünü gösterir. Kameranın konumunu değiştirmek için,setPosition Emlak.

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

ArcRotateCamera, canlandırmak için mükemmel bir kameradır. Aşağıdaki komut, kamerayı hedefin etrafında döndürmenize yardımcı olacaktır -

scene.activeCamera.alpha += .01;

TouchCamera

Dokunma bir tür "jest" dir. Parmak (lar), ekran kalemi, eldiven, ayak veya lazer işaretçi ile bir ped veya ekran üzerinde olabilir. Algılanabilen herhangi bir hareket ... bir jest olarak kabul edilebilir.

Sözdizimi

TouchCamera için sözdizimi aşağıdadır -

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

Oyun Kumandası

Bu kamera özellikle gamepad ile kullanılmak üzere tasarlanmıştır.

Sözdizimi

Gamepad Kamera için sözdizimi aşağıdadır -

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

DeviceOrientationCamera

Bu kamera, cihazınızı öne veya arkaya, sola veya sağa eğmeniz gibi cihaz yönlendirme olaylarına tepki vermek için özel olarak tasarlanmıştır.

Sözdizimi

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

Takip et

FollowCamera, bir konumla herhangi bir sahne öğesini takip etmek için tasarlanmıştır. Arkadan, önden veya her açıdan takip edilebilir.

Sözdizimi

FollowCamera için sözdizimi aşağıdadır -

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

VirtualJoysticksCamera

Bu kamera, Virtual Joystick olaylarına tepki verecek şekilde tasarlanmıştır. Sanal Oyun Çubukları, kameraları veya diğer sahne öğelerini kontrol etmek için kullanılan ekran üzeri 2D grafiklerdir.

Sözdizimi

Aşağıda VirtualJoysticksCamera için sözdizimi verilmiştir -

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

AnaglyphKamera

AnaglyphCamera, kırmızı ve camgöbeği 3B gözlüklerle kullanım içindir. İşlem sonrası filtreleme tekniklerini kullanır.

AnaglyphArcRotateCamera

Aşağıda AnaglyphArcRotateCamera için sözdizimi verilmiştir -

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

AnaglyphFreeCamera

Aşağıdaki sözdizimi AnaglyphFreeCamera -

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

VRDeviceOrientationFreeCamera

VRDeviceOrientationFreeCamera, temel olarak FreeCamera'yı kullanır, bu nedenle FreeCamera'nın özellikleri ve yöntemleri VRDeviceOrientationFreeCamera'da da bulunur.

Sözdizimi

Aşağıdaki sözdizimi VRDeviceOrientationFreeCamera -

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

WebVRFreeCamera

WebVRFreeCamera, temel olarak FreeCamera'yı kullanır, bu nedenle FreeCamera'nın özellikleri ve yöntemleri WebVRFreeCamera'da da bulunur.

Sözdizimi

Aşağıdaki sözdizimi WebVRFreeCamera -

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

Demoların çoğunda göreceksiniz attachControl kameranın tuvale eklendiği yer.

Misal

camera.attachControl(canvas, true);