BabylonJS - Cameras

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

此相机围绕给定的目标轴旋转.它可以用光标和鼠标控制,也可以用触摸事件控制.参数是name,alpha,beta,radius和target.

语法

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&minus的语法;

var camera = new BABYLON.TouchCamera("TouchCamera",new BABYLON.Vector3(0,1,-15),scene);


GamepadCamera

此相机专门设计用于游戏手柄.

语法

以下是Gamepad Camera的语法 :

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

此相机旨在对虚拟操纵杆事件作出反应.虚拟操纵杆是屏幕上的2D图形,用于控制摄像机或其他场景项目.

语法

以下是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上找到。

Syntax

以下是 VRDeviceOrientationFreeCamera:

var camera = new BABYLON.VRDeviceOrientationFreeCamera ("Camera", new BABYLON.Vector3 (-6.7, 1.2, -1.3), scene, 0);

WebVRFreeCamera

WebVRFreeCamera使用FreeCamera作为基础,因此FreeCamera的属性和方法也可以在我们的WebVRFreeCamera上找到。

Syntax

以下是 WebVRFreeCameraL

var camera = new BABYLON.WebVRFreeCamera("WVR", new BABYLON.Vector3(0, 1, -15), scene);

在大多数演示中,您将看到attachControl,其中相机连接到画布。

实例

camera.attachControl(canvas, true);