BabylonJS - Aparaty
BabylonJS ma wiele kamer, których można używać. W danym momencie tylko jedna kamera będzie aktywna dla sceny.
W tym rozdziale dowiemy się, jak korzystać z kamer w BabylonJS.
FreeCamera
Zobaczmy teraz, jak działa FreeCamera.
Składnia
Poniżej znajduje się składnia FreeCamera -
var camera = new BABYLON.FreeCamera("FreeCamera", new BABYLON.Vector3(0, 1, -15), scene);
To jest pozycja, w której znajduje się kamera - nowy BABYLON.Vector3 (0, 1, -15).
Zmiana kierunku zmieni kierunek. Możesz zmienić wartości i zobaczyć, jak kamera zachowuje się na scenie.
Poniżej przedstawiono parametry używane przez FreeCamera -
- Name
- Position
- Scene
ArcRotateCamera
Ta kamera obraca się wokół określonego obrotu celu. Można nim sterować za pomocą kursorów i myszy lub za pomocą zdarzeń dotykowych. Parametry to nazwa, alfa, beta, promień i cel.
Składnia
var camera = new BABYLON.ArcRotateCamera("ArcRotateCamera", 1, 0.8, 10, new BABYLON.Vector3(0, 0, 0), scene);
ArcRotateCamerawskazuje w kierunku + x. Aby zmienić położenie kamery, użyjsetPosition własność.
camera.setPosition(new BABYLON.Vector3(0, 0, -100));
ArcRotateCamera to doskonały aparat do animacji. Następujące polecenie pomoże ci obrócić kamerę wokół celu -
scene.activeCamera.alpha += .01;
TouchCamera
Dotyk to rodzaj „gestu”. Może znajdować się na padzie lub ekranie, z palcem (palcami), rysikiem, rękawicą, stopami lub wskaźnikiem laserowym. Każdy ruch, który można wyczuć ... można uznać za gest.
Składnia
Poniżej znajduje się składnia TouchCamera -
var camera = new BABYLON.TouchCamera("TouchCamera", new BABYLON.Vector3(0, 1, -15), scene);
GamepadCamera
Ten aparat jest specjalnie zaprojektowany do użytku z gamepadem.
Składnia
Poniżej znajduje się składnia kamery gamepada -
var camera = new BABYLON.GamepadCamera("Camera", new BABYLON.Vector3(0, 15, -45), scene);
DeviceOrientationCamera
Ta kamera jest specjalnie zaprojektowana do reagowania na zdarzenia związane z orientacją urządzenia, takie jak przechylenie urządzenia do przodu lub do tyłu, w lewo lub w prawo itp.
Składnia
var camera = new BABYLON.DeviceOrientationCamera("DevOr_camera", new BABYLON.Vector3(0, 1, -15), scene);
FollowCamera
FollowCamera jest przeznaczona do śledzenia dowolnego elementu sceny z pozycją. Może podążać z tyłu, z przodu lub pod dowolnym kątem.
Składnia
Poniżej znajduje się składnia FollowCamera -
var camera = new BABYLON.FollowCamera("FollowCam", new BABYLON.Vector3(0, 15, -45), scene);
VirtualJoysticksCamera
Ta kamera została zaprojektowana do reagowania na zdarzenia związane z wirtualnym joystickiem. Wirtualne joysticki to grafika 2D na ekranie, która służy do sterowania kamerami lub innymi elementami sceny.
Składnia
Poniżej znajduje się składnia VirtualJoysticksCamera -
var camera = new BABYLON.VirtualJoysticksCamera("VJ_camera", new BABYLON.Vector3(0, 1, -15), scene);
AnaglyphCamera
AnaglyphCamera jest przeznaczona do użytku z czerwonymi i błękitnymi okularami 3D. Wykorzystuje techniki filtrowania po przetwarzaniu.
AnaglyphArcRotateCamera
Poniżej znajduje się składnia AnaglyphArcRotateCamera -
var camera = new BABYLON.AnaglyphArcRotateCamera("aar_cam", -Math.PI/2, Math.PI/4, 20, new BABYLON.Vector3.Zero(), 0.033, scene);
AnaglyphFreeCamera
Poniżej znajduje się składnia AnaglyphFreeCamera -
var camera = new BABYLON.AnaglyphFreeCamera("af_cam", new BABYLON.Vector3(0, 1, -15), 0.033, scene);
VRDeviceOrientationFreeCamera
VRDeviceOrientationFreeCamera wykorzystuje FreeCamera jako podstawę, więc właściwości i metody FreeCamera można również znaleźć w naszej VRDeviceOrientationFreeCamera.
Składnia
Poniżej znajduje się składnia VRDeviceOrientationFreeCamera -
var camera = new BABYLON.VRDeviceOrientationFreeCamera ("Camera", new BABYLON.Vector3 (-6.7, 1.2, -1.3), scene, 0);
WebVRFreeCamera
WebVRFreeCamera używa FreeCamera jako podstawy, więc właściwości i metody FreeCamera są również dostępne w naszej WebVRFreeCamera.
Składnia
Poniżej znajduje się składnia WebVRFreeCamera -
var camera = new BABYLON.WebVRFreeCamera("WVR", new BABYLON.Vector3(0, 1, -15), scene);
W większości wersji demonstracyjnych zobaczysz attachControl gdzie kamera jest przymocowana do płótna.
Przykład
camera.attachControl(canvas, true);