Camera
摄像机
可对场景中相机进行控制枚举列表
Camera.PROPERTY
- 描述: 相机属性
| 成员名称 | 成员说明 |
|---|---|
| MaxPitch | 最大俯仰角 |
| MinPitch | 最小俯仰角 |
| ArmLength | 相机距离 |
| FOV | 视场角 |
| SocketOffsetX | X轴偏移 |
| SocketOffsetY | Y轴偏移 |
| SocketOffsetZ | Z轴偏移 |
Camera.TARGET_TYPE
- 描述: 目标类型
| 成员名称 | 成员说明 |
|---|---|
| Element | 元件 |
| Character | 角色 |
| FakeCharacter | 客户端假人 |
| Creature | 生物 |
Camera.SHAKE_TYPE
- 描述: 晃动波形
| 成员名称 | 成员说明 |
|---|---|
| perlin | Perlin噪声 |
| sinWave | 正弦波 |
Camera.CONTROL_MODE
- 描述: 相机控制模式
| 成员名称 | 成员说明 |
|---|---|
| All | 全方向 |
| UpDown | 仅上下拖动 |
| LeftRight | 仅左右拖动 |
| None | 无法拖动 |
Camera.PRESET_TYPE
- 描述: 相机预设视角类型
| 成员名称 | 成员说明 |
|---|---|
| DefaultFree | 默认自由视角 |
| TransverseView | 横板视角 |
| TopView | 俯视角 |
| CloseUpView | 近身视角 |
| ShootView | 射击视角 |
函数列表
SetPosition
-
描述: 设置相机位置
-
范围: 客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| Pos | Engine.Vector | 位置坐标,该坐标为挂载点的坐标 |
local pos = Engine.Vector(0,100,500)Camera:SetPosition(pos)GetPosition
-
描述: 获取相机位置
-
范围: 客户端
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| pos | Engine.Vector | 位置坐标,该坐标为挂载点的坐标 |
local CameraPos = Camera:GetPosition()Log:PrintLog("CameraPos X,Y,Z",CameraPos.X,CameraPos.Y,CameraPos.Z)GetRealPosition
-
描述: 获取相机真实位置
-
范围: 客户端
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| pos | Engine.Vector | 位置坐标,该坐标为相机本身的坐标 |
local CameraPos = Camera:GetPosition()Log:PrintLog("CameraPos X,Y,Z",CameraPos.X,CameraPos.Y,CameraPos.Z)SetRotation
-
描述: 设置相机旋转
-
范围: 客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| Rot | Engine.Rotator | 旋转 |
local rot = Engine.Rotator(90,180,90)Camera:SetRotation(rot)GetRotation
-
描述: 获取相机旋转
-
范围: 客户端
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| rotation | Engine.Rotator | 旋转 |
local rot = Camera:GetRotation()Log:PrintLog(string.format("rot X = %d, Y = %d, Z = %d", rot.X, rot.Y, rot.Z))SetCameraFOV
-
描述: 设置相机FOV
-
范围: 客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| Fov | number | 相机FOV |
local fov = 60Camera:SetCameraFOV(fov)GetCameraFOV
-
描述: 获取相机FOV
-
范围: 客户端
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| fov | number | 相机FOV |
local CameraFov = Camera:GetCameraFOV()Log:PrintLog("CameraFov:",CameraFov)BindOnWorldPosition
-
描述: 将相机挂载到指定位置
-
范围: 客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| Pos | Engine.Vector | 挂载位置坐标 |
| Rot | Engine.Rotator | 挂载旋转 |
| LerpTime | number | 过渡时间 |
local pos = Engine.Vector(0,0,0)local rot = Engine.Rotator(0,0,0)local lerpTime = 3Camera:BindOnWorldPosition(pos,rot,lerpTime)BindOnTarget
-
描述: 设置相机绑定至指定目标
-
范围: 客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| TargetType | Camera.TARGET_TYPE | 绑定目标类型 |
| TargetId | number | 目标Id |
| LerpTime | number | 过渡时间,单位s |
local TargetType = Camera.TARGET_TYPE.Element--当绑定角色时 TargetType = Camera.TARGET_TYPE.Character TargetId = 玩家UID--当绑定生物时 TargetType = Camera.TARGET_TYPE.Creature TargetId = 生物IDlocal TargetId = 361local LerpTime = 3Camera:BindOnTarget(TargetType,TargetId,LerpTime)LookAtTarget
-
描述: 让相机固定看向指定目标,相机会固定看向目标。
-
范围: 客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| TargetType | Camera.TARGET_TYPE | 固定看向目标类型 |
| TargetId | number | 目标Id |
| LerpTime | number | 过渡时间 |
local TargetType = Camera.TARGET_TYPE.Element--当绑定角色时 TargetType = Camera.TARGET_TYPE.Character TargetId = 玩家UID--当绑定生物时 TargetType = Camera.TARGET_TYPE.Creature TargetId = 生物IDlocal TargetId = 236local LerpTime = 0.5Camera:LookAtTarget(TargetType,TargetId,LerpTime)SetProperty
-
描述: 设置当前玩家的相机属性。支持:最大俯仰角,最小俯仰角,相机距离,视场角,XYZ轴偏移。
-
范围: 客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PropertyName | Camera.PROPERTY | 相机属性 |
| Value | number | 相机属性值 |
Camera:SetProperty(Camera.PROPERTY.FOV,30)Reset
-
描述: 将当前玩家的相机还原为初始设置。
-
范围: 客户端
Camera:Reset()StartShake
-
描述: 晃动相机,可以制作屏幕震动效果。
-
范围: 客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| Waveform | Camera.SHAKE_TYPE | 晃动波形 |
| Amplitude | number | 振幅 |
| Frequency | number | 频率 |
| Time | number | 时长(秒) |
--振幅频率持续时间可根据实际效果调整Camera:StartShake(Camera.SHAKE_TYPE.sinWave,5,5,3)StopShake
-
描述: 停止相机晃动。
-
范围: 客户端
Camera:StopShake()SetControlMode
-
描述: 设置玩家相机可在哪些方向上拖动,设置支持全方向,仅上下拖动,仅左右拖动,无法拖动。
-
范围: 客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| Mode | Camera.CONTROL_MODE | 相机控制模式 |
Camera:SetControlMode(Camera.CONTROL_MODE.UpDown)LockPitch
-
描述: 将玩家相机的俯仰角锁定在某个数值,此时不可上下拖动相机。
-
范围: 客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| Value | number | 相机的俯仰角值 |
Camera:LockPitch(50)UnLockPitch
-
描述: 解锁相机俯仰角限制。
-
范围: 客户端
Camera:UnLockPitch()LockYaw
-
描述: 将指定玩家相机的偏航角锁定在某个数值,此时不可左右拖动相机。
-
范围: 客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| Value | number | 相机的俯仰角值 |
Camera:LockYaw(30)UnLockYaw
-
描述: 解锁相机偏航角限制。
-
范围: 客户端
Camera:UnLockYaw()SetOrthographic
-
描述: 将相机设置为正交相机。
-
范围: 客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| IsOrthographic | boolean | 是否将主相机设置为正交相机;如果不设置,游戏相机默认是透视相机;正交相机目前不支持渲染阴影。 |
local IsOrthographic = true--local IsOrthographic = falseCamera:SetOrthographic(IsOrthographic)SetOrthographicWidth
-
描述: 设置正交相机在水平方向上的可视范围的全长。
-
范围: 客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| OrthographicWidth | number | 需要相机设置为正交相机,设置正交尺寸才有效,否则忽略。正交相机宽度建议不超过3000。 |
Camera:SetOrthographicWidth(1500)GetOrthographicWidth
-
描述: 获取正交相机在水平方向上的可视范围的全长。
-
范围: 客户端
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| OrthographicWidth | number | 获取正交相机在水平方向上的可视范围的全长;默认值512。 |
local OrthographicWidth = Camera:GetOrthographicWidth()Log:PrintLog("OrthographicWidth Value is :",OrthographicWidth)StartChangePerspectiveByIndex
-
描述: 根据变化视角信息索引开始变化对应视角
-
范围: 客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| ChangeInfoIndex | number | 地图相机设置中预设好的变换视角信息索引 |
Camera:StartChangePerspectiveByIndex(1)EndChangePerspective
-
描述: 根据变化视角信息索引停止变化对应视角
-
范围: 客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| ChangeInfoIndex | number | 地图相机设置中预设好的变换视角信息索引 |
Camera:EndChangePerspective(1)StartShakeByIndex
-
描述: 根据相机晃动信息索引开始执行相机晃动
-
范围: 客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| ShakeInfoIndex | number | 地图相机设置中预设好的相机晃动信息索引 |
Camera:StartShakeByIndex(1)StopShakeByIndex
-
描述: 根据相机晃动信息索引停止执行相机晃动
-
范围: 客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| ShakeInfoIndex | number | 地图相机设置中预设好的相机晃动信息索引 |
Camera:StopShakeByIndex(1)ChangeShakeBlendTimeByIndex
-
描述: 修改相机晃动信息索引对应的晃动混入混出时间
-
范围: 客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| ShakeInfoIndex | number | 地图相机设置中预设好的相机晃动信息索引 |
| BlendInTime | number | 晃动混入时间,传nil则表示不进行修改 |
| BlendOutTime | number | 晃动混出时间,传nil则表示不进行修改 |
Camera:ChangeShakeBlendTimeByIndex(1, 1, 1)SetCameraView
-
描述: 根据预设视角类型设置相机视角
-
范围: 客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| PresetViewType | Camera.PRESET_TYPE | 视角类型 |
Camera:SetCameraView(Camera.PRESET_TYPE.DefaultFree)MovieCameraStart
-
描述: 让指定的电影相机开始拍摄
-
范围: 客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| ItemUID | number | 相机ItemUID |
Camera:MovieCameraStart(223)MovieCameraStop
-
描述: 让指定的电影相机停止拍摄
-
范围: 客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| ItemUID | number | 相机ItemUID |
Camera:MovieCameraStop(223)MovieCameraSetLockRange
-
描述: 根据索引修改电影相机的锁定追踪范围
-
范围: 客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| ItemUID | number | 相机ItemUID |
| LockInfoIndex | number | 相机锁定信息的索引 |
| LockRange | number | 追踪范围(处于范围内才会执行锁定追踪,超出范围立即停止) |
local ItemUID = 223local LockInfoIndex = 1local LockRange = 100UGCSCamera:MovieCameraSetLockRange(ItemUID, LockInfoIndex, LockRange)MovieCameraSetLerpSpeed
-
描述: 根据索引修改电影相机的锁定追踪插值速度
-
范围: 客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| ItemUID | number | 相机ItemUID |
| LockInfoIndex | number | 相机锁定信息的索引 |
| LerpSpeed | number | 锁定追踪插值速度(相机锁定目标的速度,速度越小相机跟随越慢,0是最大值锁定最快) |
local ItemUID = 223local LockInfoIndex = 1local LerpSpeed = 300UGCSCamera:MovieCameraSetLerpSpeed(ItemUID, LockInfoIndex, LerpSpeed)MovieCameraStartLock
-
描述: 根据索引开始锁定(需要先开始拍摄才可以锁定)
-
范围: 客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| ItemUID | number | 相机ItemUID |
| LockInfoIndex | number | 相机锁定信息的索引 |
Camera:MovieCameraStart(ItemUID)local ItemUID = 223local LockInfoIndex = 1Camera:MovieCameraStartLock(ItemUID,LockInfoIndex)MovieCameraStopLock
-
描述: 根据索引结束锁定
-
范围: 客户端
参数列表:
| 参数 | 类型 | 说明 |
|---|---|---|
| ItemUID | number | 相机ItemUID |
| LockInfoIndex | number | 相机锁定信息的索引 |
local ItemUID = 223local LockInfoIndex = 1Camera:MovieCameraStopLock(ItemUID,LockInfoIndex)GetForward
-
描述: 获取相机朝向
-
范围: 客户端
返回字段:
| 返回字段 | 字段类型 | 说明 |
|---|---|---|
| forward | Engine.Vector | 朝向 |
local forward = Camera:GetForward()Log:PrintLog("@@## forward", forward.X, forward.Y, forward.Z)