1 .这表示一种自由类型的相机。例如,它可以在第一人称射击游戏中使用。请考虑使用新的UniversalCamera,因为它增加了更多功能,如游戏板。
2 .var camera = new BABYLON.UniversalCamera("MyCamera", new BABYLON.Vector3(0, 1, 0), scene,true);
1 .实例化一个自由摄影机。这表示一种自由类型的相机。例如,它可以在第一人称射击游戏中使用。请考虑使用新的UniversalCamera,因为它增加了更多的功能,如触摸到这个相机。
2 .最后一个参数:定义如果未定义其他活动摄像机,摄像机应标记为活动摄像机
Properties
1 .applyGravity:true 是否在相机上添加重力
2 .cameraDirection:定义相机移动到当前位置:原来这个是一个位置,我还以为是摄像的角度
3 .cameraRotation:定义当前相机旋转的角度
4 .checkCollisions:是否开启碰撞检查
5 .ellipsoid:定义摄影机的碰撞椭球体。这有助于模拟摄影机主体,就像摄影机周围的播放器主体
6 .ellisoidOffset:定义相机周围椭球体位置的偏移。这有助于确定身体重心附近的中心,而不是头部。
7 .inputs:定义与相机关联的输入管理器
8 .inverseRotationSpeed:反向相机平移速度倍增
9 .invertRotation:将mouselook方向反转为“自然”平移,而不是传统的直接平移
10 .lockedTarget:定义相机当前的位置或目标
11 .noRotationConstraint:为相机添加约束,以防止它在所有方向和所有轴上自由移动。
12 .onCollide:func 当相机和其他物体发生碰撞时触发
13 .rotation:定义当前相机旋转的角度
14 .rotationQuaternion:将相机的当前旋转定义为四元数以防止万向节锁定
15 .speed:定义相机当前的速度
16 .updateUpVectorFromRotation:设置后,相机的上方向向量将通过相机的旋转进行更新
访问器
1 .angularSensibility:获取鼠标输入的输入灵敏度。(默认值为2000.0)较高的值会降低灵敏度。
2 .collisionMask:定义碰撞遮罩以限制摄影机可以碰撞的对象列表
3 .keysDown:获取或设置用于控制相机向后移动的键盘键列表。
4 .keysDownward:获取或设置用于控制相机向下移动的键盘键列表。
5 keysLeft
6 keysRight
7 keysUp 获取或设置用于控制相机向前移动的键盘键列表。
8 keysUpward 获取或设置用于控制相机向上移动的键盘键列表。
方法
1 .attachControl
2 .detachControl
3 .dispose:销毁相机并释放它所持有的当前资源。
4 .getClassName:获取当前对象类名
5 getFrontPosition:获取给定距离处相机前面的位置。
6 getTarget
7 setTarget:将新目标定义为向量或网格
8 stroreState:存储摄像机的当前状态(视野、位置、旋转等) 每一帧都存储,不就是一个游戏视频了吗
问题
1 .有些方法好像不全
//里面有的属性是camera 基类携带的,但是更多的都是找不到的。
camera.getViewMatrix().invertToRef(camera._cameraTransformMatrix);
BABYLON.Vector3.TransformNormalToRef(camera.direction, camera._cameraTransformMatrix, camera._transformedDirection);
camera.cameraDirection.addInPlace(camera._transformedDirection);