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);