---
sidebarDepth: 1
---
# 摄像机
## DepartCamera
客户端
method in mod.client.component.cameraCompClient.CameraComponentClient
- 描述
分离玩家与摄像机
- 参数
无
- 返回值
无
- 备注
- 分离之后,可以看到玩家四周,旋转镜头时玩家面向的方向不再跟随镜头旋转而变化。注意,分离镜头后乘船时,船的组件minecraft:rideable中的lock_rider_rotation字段将失去效果。另外,在骑乘马或者其他生物的情况下,分离镜头后由于玩家的方向不再跟随镜头旋转,因此骑乘时无法进行转向,请注意这一点。
- 示例
```python
import mod.client.extraClientApi as clientApi
# 第三人称锁定视角例子
comp = clientApi.GetEngineCompFactory().CreateCamera(levelId)
comp.DepartCamera()
comp.LockModCameraYaw(1) # 锁定左右视角
comp.LockModCameraPitch(1) # 锁定上下视角
comp.SetCameraOffset((0, 0, 15))
comp.SetCameraRot((45.0, 0.0))
```
## GetCameraAnchor
客户端
method in mod.client.component.cameraCompClient.CameraComponentClient
- 描述
获取相机锚点
- 参数
无
- 返回值
|
数据类型
| 说明 |
| :--- | :--- |
| tuple(float,float,float) | 锚点偏移量 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateCamera(levelId)
comp.GetCameraAnchor()
```
## GetCameraOffset
客户端
method in mod.client.component.cameraCompClient.CameraComponentClient
- 描述
获取摄像机偏移量
- 参数
无
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| tuple(float,float,float) | 偏移量 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateCamera(levelId)
comp.GetCameraOffset()
```
## GetCameraPitchLimit
客户端
method in mod.client.component.cameraCompClient.CameraComponentClient
- 描述
获取摄像机上下角度限制值
- 参数
无
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| tuple(float,float) | 上下角度限制值 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateCamera(levelId)
comp.GetCameraPitchLimit()
```
## GetCameraRot
客户端
method in mod.client.component.cameraCompClient.CameraComponentClient
- 描述
获取相机转向
- 参数
无
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| tuple(float,float) | 转向 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateCamera(levelId)
rot = comp.GetCameraRot()
```
## GetForward
客户端
method in mod.client.component.cameraCompClient.CameraComponentClient
- 描述
返回相机向前的方向
- 参数
无
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| tuple(float,float,float) | 向前的方向 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateCamera(levelId)
comp.GetForward()
```
## GetFov
客户端
method in mod.client.component.cameraCompClient.CameraComponentClient
- 描述
获取视野大小
- 参数
无
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| float | 即视频设置中的视野,单位为角度 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateCamera(levelId)
fov = comp.GetFov()
```
## GetFpHeight
客户端
method in mod.client.component.cameraCompClient.CameraComponentClient
- 描述
获取本地玩家当前状态下,第一人称视角时的摄像机高度偏移量。游泳时,滑翔时以及普通状态下会有所不同
- 参数
无
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| float | 高度偏移量 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateCamera(levelId)
heightOffset = comp.GetFpHeight()
```
## GetPerspective
客户端
method in mod.client.component.playerViewCompClient.PlayerViewCompClient
- 描述
获取当前的视角模式
- 参数
无
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| int | 0:第一人称视角;1:第三人称视角;2:前视第三人称视角 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreatePlayerView(entityId)
persp = comp.GetPerspective()
```
## GetPosition
客户端
method in mod.client.component.cameraCompClient.CameraComponentClient
- 描述
返回相机中心
- 参数
无
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| tuple(float,float,float) | 相机中心位置 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateCamera(levelId)
comp.GetPosition()
```
## IsModCameraLockPitch
客户端
method in mod.client.component.cameraCompClient.CameraComponentClient
- 描述
是否锁定摄像机上下角度
- 参数
无
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| bool | 是否锁定 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateCamera(levelId)
comp.IsModCameraLockPitch()
```
## IsModCameraLockYaw
客户端
method in mod.client.component.cameraCompClient.CameraComponentClient
- 描述
是否锁定摄像机左右角度
- 参数
无
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| bool | 是否锁定 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateCamera(levelId)
comp.IsModCameraLockYaw()
```
## LockCamera
客户端
method in mod.client.component.cameraCompClient.CameraComponentClient
- 描述
锁定摄像机
- 参数
| 参数名 | 数据类型
| 说明 |
| :--- | :--- | :--- |
| lockPos | tuple(float,float,float) | 世界坐标 |
| lockRot | tuple(float,float) | 摄像机的角度(俯仰角及偏航角) |
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| bool | 设置是否成功 |
- 备注
- 锁定摄像机时只是锁定画面视角,玩家仍然可以移动
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateCamera(levelId)
# 把摄像机固定在(0, 6, 0),并且30度俯视,朝向世界z轴正方向
comp.LockCamera((0, 6, 0), (30, 0))
```
## LockModCameraPitch
客户端
method in mod.client.component.cameraCompClient.CameraComponentClient
- 描述
锁定摄像机上下角度(第三人称下生效,锁定后不能上下调整视角)
- 参数
| 参数名 | 数据类型
| 说明 |
| :--- | :--- | :--- |
| enable | int | 1:锁定 0:解锁 |
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| bool | 是否设置成功 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateCamera(levelId)
comp.LockModCameraPitch(1)
```
## LockModCameraYaw
客户端
method in mod.client.component.cameraCompClient.CameraComponentClient
- 描述
锁定摄像机左右角度(第三人称下生效,锁定后不能通过鼠标左右调整视角)
- 参数
| 参数名 | 数据类型
| 说明 |
| :--- | :--- | :--- |
| enable | int | 1:锁定 0:解锁 |
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| bool | 是否设置成功 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateCamera(levelId)
comp.LockModCameraYaw(1)
```
## LockPerspective
客户端
method in mod.client.component.playerViewCompClient.PlayerViewCompClient
- 描述
锁定玩家的视角模式
- 参数
| 参数名 | 数据类型
| 说明 |
| :--- | :--- | :--- |
| lock | int | 0:第一人称视角;1:第三人称视角;2:前视第三人称视角 其他值:解除锁定 |
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| bool | 是否锁定成功 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreatePlayerView(entityId)
comp.LockPerspective(1)
```
## ResetCameraBindActorId
客户端
method in mod.client.component.cameraCompClient.CameraComponentClient
- 描述
将摄像机重新绑定回主角身上
- 参数
无
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| bool | 是否设置成功 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateCamera(levelId)
comp.ResetCameraBindActorId()
```
## SetCameraAnchor
客户端
method in mod.client.component.cameraCompClient.CameraComponentClient
- 描述
设置相机锚点,暂时只支持高度,其他维度无效
- 参数
| 参数名 | 数据类型
| 说明 |
| :--- | :--- | :--- |
| offset | tuple(float,float,float) | 锚点偏移量 |
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| bool | 是否设置成功 |
- 备注
- 与SetCameraOffset不同的是,该接口改变的是相机的轨道的圆心位置。对第一人称和第三人称模式均生效。
- 注意,设置后的效果不会存档
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateCamera(levelId)
comp.SetCameraAnchor((0,1,0))
```
## SetCameraBindActorId
客户端
method in mod.client.component.cameraCompClient.CameraComponentClient
- 描述
将摄像机绑定到目标实体身上(调用者与目标必须在同一个dimension,同时需要在加载范围之内,若绑定后目标离开了范围或者死亡,则会自动解除绑定)
- 参数
| 参数名 | 数据类型
| 说明 |
| :--- | :--- | :--- |
| targetId | str | 目标实体id |
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| bool | 是否设置成功 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateCamera(levelId)
comp.SetCameraBindActorId('1234')
```
## SetCameraOffset
客户端
method in mod.client.component.cameraCompClient.CameraComponentClient
- 描述
设置摄像机偏移量
- 参数
| 参数名 | 数据类型
| 说明 |
| :--- | :--- | :--- |
| offset | tuple(float,float,float) | 偏移量 |
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| bool | 是否设置成功 |
- 备注
- 注意,该接口仅改变第三人称的相机(包括前视第三人称和后视第三人称)的偏移量,对第一人称模式下的相机无效。
- 与SetCameraAnchor不同的是,该接口改变的是相机的位置偏移值,不会对相机轨道的圆心位置进行改变。
- 注意,设置后的效果不会存档
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateCamera(levelId)
comp.SetCameraOffset((1, 1, 1))
```
## SetCameraPitchLimit
客户端
method in mod.client.component.cameraCompClient.CameraComponentClient
- 描述
设置摄像机上下角度限制值,默认是(-90,90)
- 参数
| 参数名 | 数据类型
| 说明 |
| :--- | :--- | :--- |
| limit | tuple(float,float) | 上下角度限制值 |
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| bool | 是否成功 |
- 备注
- 注意,设置后的效果不会存档
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateCamera(levelId)
comp.DepartCamera()
comp.SetCameraPitchLimit((-30, 30))
```
## SetCameraPos
客户端
method in mod.client.component.cameraCompClient.CameraComponentClient
- 描述
设置相机中心的位置
- 参数
| 参数名 | 数据类型
| 说明 |
| :--- | :--- | :--- |
| pos | tuple(float,float,float) | 位置 |
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| bool | 是否设置成功 |
- 备注
- 注意,设置后的效果不会存档
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateCamera(levelId)
comp.SetCameraPos((1, 1, 1))
```
## SetCameraRot
客户端
method in mod.client.component.cameraCompClient.CameraComponentClient
- 描述
设定相机转向
- 参数
| 参数名 | 数据类型
| 说明 |
| :--- | :--- | :--- |
| rot | tuple(float,float) | 转向 |
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| bool | 是否设置成功 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateCamera(levelId)
comp.SetCameraRot((1, 1))
```
## SetFov
客户端
method in mod.client.component.cameraCompClient.CameraComponentClient
- 描述
设置视野大小
- 参数
| 参数名 | 数据类型
| 说明 |
| :--- | :--- | :--- |
| fov | float | 单位为角度, 范围为[30, 110],若fov小于30则设置为30,,若fov大于110,则设置为110. |
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| bool | 设置是否成功 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateCamera(levelId)
comp.SetFov(60)
```
## SetPerspective
客户端
method in mod.client.component.playerViewCompClient.PlayerViewCompClient
- 描述
设置视角模式
- 参数
| 参数名 | 数据类型
| 说明 |
| :--- | :--- | :--- |
| persp | int | 0:第一人称视角;1:第三人称视角;2:前视第三人称视角 |
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| bool | 设置是否成功 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreatePlayerView(entityId)
comp.SetPerspective(1)
```
## SetSpeedFovLock
客户端
method in mod.client.component.cameraCompClient.CameraComponentClient
- 描述
是否锁定相机视野fov,锁定后不随速度变化而变化
- 参数
| 参数名 | 数据类型
| 说明 |
| :--- | :--- | :--- |
| isLocked | bool | 是否锁定 |
- 返回值
无
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateCamera(levelId)
comp.SetSpeedFovLock(True)
```
## UnDepartCamera
客户端
method in mod.client.component.cameraCompClient.CameraComponentClient
- 描述
绑定玩家与摄像机
- 参数
无
- 返回值
无
- 备注
- 绑定之后,只能看到玩家背部
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateCamera(levelId)
comp.UnDepartCamera()
```
## UnLockCamera
客户端
method in mod.client.component.cameraCompClient.CameraComponentClient
- 描述
解除摄像机锁定
- 参数
无
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| bool | 设置是否成功 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateCamera(levelId)
comp.UnLockCamera()
```