Учебники

BabylonJS — Камеры

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, где камера прикреплена к холсту.