BabylonJS имеет много камер, которые можно использовать. За раз, только одна камера будет активна для сцены.
В этой главе мы узнаем, как использовать камеры в BabylonJS.
FreeCamera
Давайте теперь посмотрим, как работает FreeCamera.
Синтаксис
Ниже приводится синтаксис для FreeCamera —
var camera = new BABYLON.FreeCamera("FreeCamera", new BABYLON.Vector3(0, 1, -15), scene);
Это позиция, в которой находится камера — новый BABYLON.Vector3 (0, 1, -15).
Изменение направления изменит направление. Вы можете изменить значения и посмотреть, как камера ведет себя на сцене.
Ниже приведены параметры, используемые FreeCamera —
- название
- Позиция
- Сцена
ArcRotateCamera
Эта камера вращается вокруг заданной оси поворота. Им можно управлять с помощью курсоров и мыши или сенсорных событий. Параметры: имя, альфа, бета, радиус и цель.
Синтаксис
var camera = new BABYLON.ArcRotateCamera("ArcRotateCamera", 1, 0.8, 10, new BABYLON.Vector3(0, 0, 0), scene);
ArcRotateCamera указывает в направлении + x. Чтобы изменить положение камеры, используйте свойство setPosition .
camera.setPosition(new BABYLON.Vector3(0, 0, -100));
ArcRotateCamera — отличная камера для анимации. Следующая команда поможет вам повернуть камеру вокруг цели —
scene.activeCamera.alpha += .01;
TouchCamera
Прикосновение — это тип «жеста». Это может быть на планшете или экране, с пальцем (пальцами), стилусом, перчаткой, ногами или лазерной указкой. Любое движение, которое можно почувствовать … можно считать жестом.
Синтаксис
Ниже приводится синтаксис для TouchCamera —
var camera = new BABYLON.TouchCamera("TouchCamera", new BABYLON.Vector3(0, 1, -15), scene);
GamepadCamera
Эта камера специально разработана для использования с геймпадом.
Синтаксис
Ниже приводится синтаксис для камеры геймпада —
var camera = new BABYLON.GamepadCamera("Camera", new BABYLON.Vector3(0, 15, -45), scene);
DeviceOrientationCamera
Эта камера специально разработана для реагирования на события, связанные с ориентацией устройства, например, когда вы наклоняете устройство вперед или назад, влево или вправо и т. Д.
Синтаксис
var camera = new BABYLON.DeviceOrientationCamera("DevOr_camera", new BABYLON.Vector3(0, 1, -15), scene);
FollowCamera
FollowCamera предназначена для отслеживания любого элемента сцены с определенной позицией. Это может следовать сзади, спереди или под любым углом.
Синтаксис
Ниже приводится синтаксис для FollowCamera —
var camera = new BABYLON.FollowCamera("FollowCam", new BABYLON.Vector3(0, 15, -45), scene);
VirtualJoysticksCamera
Эта камера предназначена для реагирования на события виртуального джойстика. Виртуальные джойстики — это двухмерная графика на экране, которая используется для управления камерами или другими элементами сцены.
Синтаксис
Ниже приводится синтаксис для VirtualJoysticksCamera —
var camera = new BABYLON.VirtualJoysticksCamera("VJ_camera", new BABYLON.Vector3(0, 1, -15), scene);
AnaglyphCamera
AnaglyphCamera предназначена для использования с красными и голубыми 3D-очками. Он использует методы фильтрации пост-обработки.
AnaglyphArcRotateCamera
Ниже приводится синтаксис для AnaglyphArcRotateCamera —
var camera = new BABYLON.AnaglyphArcRotateCamera("aar_cam", -Math.PI/2, Math.PI/4, 20, new BABYLON.Vector3.Zero(), 0.033, scene);
AnaglyphFreeCamera
Ниже приведен синтаксис для AnaglyphFreeCamera —
var camera = new BABYLON.AnaglyphFreeCamera("af_cam", new BABYLON.Vector3(0, 1, -15), 0.033, scene);
VRDeviceOrientationFreeCamera
VRDeviceOrientationFreeCamera использует FreeCamera в качестве своей основы, поэтому свойства и методы FreeCamera также можно найти в нашей VRDeviceOrientationFreeCamera.
Синтаксис
Ниже приводится синтаксис для VRDeviceOrientationFreeCamera —
var camera = new BABYLON.VRDeviceOrientationFreeCamera ("Camera", new BABYLON.Vector3 (-6.7, 1.2, -1.3), scene, 0);
WebVRFreeCamera
WebVRFreeCamera использует FreeCamera в качестве своей основы, поэтому свойства и методы FreeCamera также можно найти в нашей WebVRFreeCamera.
Синтаксис
Ниже приводится синтаксис для WebVRFreeCamera —
var camera = new BABYLON.WebVRFreeCamera("WVR", new BABYLON.Vector3(0, 1, -15), scene);
В большинстве демонстраций вы увидите attachControl, где камера прикреплена к холсту.