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:
- Name
- Position
- Scene
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);
ГеймпадКамера
Эта камера специально разработана для использования с геймпадом.
Синтаксис
Ниже приводится синтаксис камеры геймпада -
var camera = new BABYLON.GamepadCamera("Camera", new BABYLON.Vector3(0, 15, -45), scene);
Устройство ОриентацияКамера
Эта камера специально разработана для реагирования на события ориентации устройства, например, когда вы наклоняете устройство вперед или назад, влево или вправо и т. Д.
Синтаксис
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:
var camera = new BABYLON.VirtualJoysticksCamera("VJ_camera", new BABYLON.Vector3(0, 1, -15), scene);
АнаглифКамера
Камера AnaglyphCamera предназначена для использования с красными и голубыми 3D-очками. Он использует методы фильтрации постобработки.
АнаглифArcRotateCamera
Ниже приведен синтаксис AnaglyphArcRotateCamera:
var camera = new BABYLON.AnaglyphArcRotateCamera("aar_cam", -Math.PI/2, Math.PI/4, 20, new BABYLON.Vector3.Zero(), 0.033, scene);
АнаглифFreeCamera
Ниже приведен синтаксис AnaglyphFreeCamera -
var camera = new BABYLON.AnaglyphFreeCamera("af_cam", new BABYLON.Vector3(0, 1, -15), 0.033, scene);
VRУстройствоориентацияБесплатноКамера
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 где камера крепится к полотну.
пример
camera.attachControl(canvas, true);