--- 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() ```