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