Skip to content
目录

相机 Cameras

相机

创建相机 create_camera

创建相机拼图。可创建以下几种类型的相机:

漫游相机 UniversalCamera

可用于第一人称射击游戏,支持键盘、鼠标、触屏和游戏手柄。

  • 名字: 定义场景中相机的名称
  • 位置: 定义相机在场景中的初始位置

环绕相机 ArcRotateCamera

该相机可围绕前方的目标位置进行旋转(就像卫星绕行地球)。可通过鼠标或触摸事件控制。该相机就像围绕地球旋转的卫星一样,它与目标点的相对位置可通过3个参数控制: alpha (角度) 纬线上的旋转, beta (角度) 经线上的旋转,以及半径 radius 与目标点的距离.

  • 名字: 相机名称
  • 经度: 定义相机沿纬线旋转的角度
  • 纬度: 定义相机沿经线旋转的角度
  • 半径: 定义相机与目标点的位置
  • 目标: 定义相机的目标点

跟随相机 FollowCamera

跟随相机 该相机以一个网格为目标,在其运行时进行跟随。 存在漫游跟随相机和环绕跟随相机两个版本。

  • 名字: string 定义相机在场景中的名称
  • 位置: Vector3 定义相机的位置

立体漫游相机 AnaglyphUniversalCamera

立体漫游相机 该相机用于模拟立体渲染 (基于UniversalCamera)

  • 名字: string 相机名称
  • 位置: Vector3 定义初始位置
  • 视差: number 视差,定义两种颜色的距离

立体环绕相机 AnaglyphArcRotateCamera

该相机用于模拟立体渲染 (基于ArcRotateCamera)

  • 名字: 相机名称
  • 经度: 定义相机沿纬线旋转的角度
  • 纬度: 定义相机沿经线旋转的角度
  • 半径: 定义相机与目标点的位置
  • 目标: 定义相机的目标点
  • 视差: 定义两种颜色的距离

设备朝向相机 DeviceOrienationCamera

该相机专为响应设备的方向事件而设计,例如手机设备的向前向后,左右倾斜

  • 名字: string 相机名称
  • 位置: Vector3 相机开始位置

相机属性 camera_properties_accessors

用于设置或获取相机属性或访问器。访问器是访问对象属性时触发的回调函数,用于设置或获取对象的内部数据,用法与属性相同,在拼图中表示为"属性*"。

不同类型的相机,其属性并不完全一致。

相机属性:

  • 经度: alpha - number 定义相机沿经线方向的转动度数(弧度)
  • 应用重力: applyGravity - 开启或关闭相机重力属性
  • 转向敏感度: angularSensibility - 设置或获取鼠标转动的敏感度 (默认 2000.0) 值越高敏感度越低
  • 纬度: beta - number 定义相机沿纬线方向的转动度数(弧度)
  • 相机方向: cameraAcceleration - 定义相机能够以多快的速度加速来跟随它的目标。
  • 相机旋转: cameraDirection - 定义相机正在移动的方向
  • 检测碰撞: cameraRotation - 定义相机正在旋转的旋转值
  • 相机加速度: checkCollisions - 开启或关闭相机与场景中其它物体的碰撞
  • 碰撞半径: collisionRadius - 定义相机的碰撞半径。模拟一个围绕相机的椭球球体
  • 椭球体: ellipsoid - 定义相机的椭球体碰撞体。用于模拟相机实体,如玩家的身体
  • 椭球体偏移: ellipsoidOffset - 为椭球球在相机周围的位置定义一个偏移量。可用于将身体的中心点设在重心附近,而不是它的头部
  • 视野: fov - 相机视野,单位弧度 (默认 0.8)
  • 高度偏移: heightOffset - 定义相机与跟随物体之间的高度偏移。有助于从顶部跟踪物体(如汽车追逐飞机)
  • 忽略父级缩放: ignoreParentScaling - 设置或获取一个布尔值,表示相机将不考虑父级的缩放。
  • 惯性: inertia - 定义相机默认惯性
  • 反转旋转速度: inverseRotationSpeed - 用于反转相机平移的速度乘数
  • 反转旋转: invertRotation - 将鼠标移动方向反转为“自然”平移,而不是传统的直接平移
  • 图层蒙板: layerMask - (数字)限制相机只有查看有相同图层蒙板的物体。
  • 锁定目标: lockedTarget - 将相机的当前目标定义为一个物体或一个位置。请注意,锁定目标将禁用平移功能。
  • 经度下限: lowerAlphaLimit - 最小经度弧度 可用于限制相机在场景中的移动
  • 纬度下限: lowerBetaLimit - 最小纬度弧度 可用于限制相机在场景中的移动
  • 高度偏移下限: lowerRadiusLimit - 相机距离目标的最小距离 (相机无法再靠近). 可用于限制相机在场景中的移动
  • 半径下限: lowerRotationOffsetLimit - 相机位置相对于目标物体的最小角度。 可用于限制相机在场景中的移动
  • 旋转偏移下限: lowerHeightOffsetLimit - 相机相对于目标物体的最小高度。可用于限制相机在场景中的移动
  • 映射平移: mapPanning - boolean 定义相机是否排除y轴上的变换
  • 最大相机速度: maxCameraSpeed - 定义相机跟随物体的最大速度。
  • 最大Z: maxZ - 定义相机可以观察的最大距离
  • 最小Z: minZ - 定义相机可以观察的最小距离
  • 无旋转约束: noRotationConstraint - 为相机添加约束,阻止相机在所有方向和所有轴向上自由移动
  • 平移轴: panningAxis - Vector3 定义允许平移的轴
  • 平移距离限制: panningDistanceLimit - 定义最大平移距离 可用于让相机一直在场景中
  • 平移惯性: panningInertia - number 定义平移时的惯性值 0 没有惯性;1 一直运动
  • 平移源目标: panningOriginTarget - Vector3 定义平移前相机的目标
  • 捏合转平移的最大距离: pinchToPanMaxDistance - number 定义用于衡量相机在平移模式与捏合/变焦模式下的距离。基本上,如果你的手指移动的距离超过这个距离,将被视为捏合模式。
  • 半径: radius - number 定义相机距离目标点的半径
  • 旋转: rotation - 定义当前相机的旋转值
  • 旋转偏移: rotationOffset - 定义相机和相机所跟随物体间的旋转偏移
  • 速度: speed - 定义当前相机的速度
  • 目标屏幕偏移: targetScreenOffset - Vector2 定义相机目标点在屏幕上的偏移
  • 经度上限: upperAlphaLimit - 最大经度弧度值可用于限制相机在场景中的移动
  • 纬度上限: upperBetaLimit - number 最大纬度值 可用于限制相机在场景中的移动
  • 高度偏移上限: upperHeightOffsetLimit - 相机位置相对于目标物体的最大允许高度。有助于限制相机在场景中的移动方式。
  • 半径上限: upperRadiusLimit - 相机距离目标的最大距离 可用于限制相机在场景中的移动
  • 旋转偏移上限: upperRotationOffsetLimit - 相对于目标物体,相机位置的最大允许角度。有助于限制相机在场景中的移动方式

相机访问器:

  • 转向敏感度X: angularSensibilityX - 获取或设置指针沿X轴的角度敏感度,或摄像机旋转的速度
  • 转向敏感度Y: angularSensibilityY - 获取或设置指针沿Y轴的角度敏感度,或摄像机旋转的速度
  • 世界位置: globalPosition - 获取相机的世界空间位置
  • 位置: position - 定义相机在场景的位置(局部坐标)
  • 后退键: keysDown - 设置或获取用于控制相机向后方移动的键盘按键列表
  • 向下键: keysDownward - 设置或获取用于控制相机向下方移动的键盘按键列表
  • 向左键: keysLeft - 设置或获取用于控制相机向左移动的键盘按键列表
  • 向右键: keysRight - 设置或获取用于控制相机向右移动的键盘按键列表
  • 左转键: keysRotateLeft - 设置或获取用于控制相机向左旋转的键盘按键列表
  • 右转键: keysRotateRight - 设置或获取用于控制相机向右旋转的键盘按键列表
  • 前进键: keysUp - 设置或获取用于控制相机向前移动的键盘按键列表
  • 向上键: keysUpward - 设置或获取用于控制相机向上移动的键盘按键列表
  • 目标: target - 定义相机的目标点
  • 目标宿主: targetHost - 定义相机的目标网格,相机会在半径距离上看向此网格。注意此设置会禁用平移
  • 触屏转向敏感度: touchAngularSensibility - 定义相机转向的触摸敏感度,值越高越快
  • 触屏移动敏感度: touchMoveSensibility - 定义相机移动的触摸敏感度,值越高越快
  • 自然捏合缩放: useNaturalPinchZoom - 获取或设置指针使用自然捏合缩放。当为true时,多点触控缩放将放大,这样在相机/目标点的平面上的任何物体都会随着手指的运动而完美缩放。
  • 滚轮速度百分比: wheelDeltaPercentage - 设置或获取鼠标滚轮速度百分比或相机缩放的速度。它定义了在使用捏合变焦时,将当前相机.半径的百分比作为delta。
  • 滚轮精度: wheelPrecision - 设置或获取鼠标滚轮的精度或相机缩放的速度

激活相机 set_get_active_camera

用于设置或获取当前激活相机。

启用相机控制器 enable_disable_camera_control

启用或禁用相机控制器。

相机方向 get_camera_direction

获取相机相对于指定局部轴的方向。

  • 轴:定义参考轴以提供一个相对的方向

相机射线 camera_get_forward_ray

获取激活相机朝正前方发射的光线。这条光线返回的信息可用于获取相机前方的网格。

销毁相机 dispose_camera

销毁相机及相关资源。

环绕相机行为

自动环绕 autorotate_camera

为环绕相机添加自动旋转行为,当用户有任何操作时打断此行为。

参数:

  • 启用 - 控制自动旋转行为的开关
  • 速度 - 控制旋转速度
  • 等待时间 - 从用户无操作到启用自动旋转的等待时间,单位秒
  • 加速时间 - 从静止到旋转的加速时间,单位秒

回弹 bounce_camera

为环绕相机添加回弹行为,当达到最小距离和最大距离时触发此行为。该拼图可以防止相机穿过网格。

参数:

  • 时长 - 回弹时长,单位秒
  • 最小距离 - 相机距离目标的最小距离
  • 最大距离 - 相机距离目标的最大距离

注视 zoom_camera

为环绕相机添加注视行为。该行为可使相机注视到目标网格。

参数:

  • 时长 - 注视行为的时长,单位秒

通过点击拼图左上角的齿轮图标可启用相机结束动画时的回调插槽。