摄像机的使用方法
本教程适用于 Party Game Kit 用户。
本教程将带你了解如何通过 YaCameraAPI 在 Studio(工作室)中添加和配置摄像机,无论是通过 Lua 脚本还是节点图(Node Graph)。你将学会:
本教程以 RTS 摄像机为例,演示如何修改三个摄像机属性:与目标的距离、用户输入可控性、视场角(FOV)。这些方法同样适用于其他类型摄像机和更多属性。让我们开始吧!
设置摄像机
Studio(工作室)默认摄像机为第三人称摄像机(third-person camera),即跟随玩家身后的摄像机。如下为摄像机及默认设置预览:
如果你在制作策略游戏,可能希望将摄像机切换为 RTS 类型(RTS camera),即摄像机位于世界上方。此时需先拥有 RTS 摄像机组件(RTS camera component),并通过 Studio界面操作添加到场景,不能用脚本直接添加。
切换为 RTS 摄像机的步骤:
-
在 Studio(工作室)中,进入 资源库(Asset Library)。
-
选择 逻辑(Logic)>组件(Components),在搜索栏输入 camera。官方团队 Yahaha Creative 发布的所有摄像机组件都会显示。
-
鼠标 悬停在 Setting_CameraRTS 组件上,点击 + 添加。你现在拥有了该组件。
-
关闭 资源库,返回编辑模式(Edit Mode)。点击场景中的对象,再点击
打开 属性(Properties)窗口。
-
要将摄像机应用到场景,选择 + 功能(+ Feature)>资源(Assets)>Setting_CameraRTS>RTS 摄像机(RTS camera),找到该组件后点击,即可将其添加到 属性 窗口。
现在,带有如下设置的 RTS 摄像机已准备好。
各参数详情见 RTS CameraSetting。
注意:建议每个场景只使用一个摄像机组件,以保证流畅体验。如需切换视角,需先移除当前摄像机再添加新摄像机。
修改摄像机设置
如需修改 RTS 摄像机设置,有两种主要方式:
用 Lua 脚本修改摄像机设置
前置条件
请确保:
-
已安装 Visual Studio Code 并与 Studio 集成。如未集成,请参考如何开始编程完成下载与集成。
-
已为实体添加触发器(trigger)。设置方法:
a 在场景中选择一个实体(entity),该实体将作为 Lua 脚本的触发器。本例选择了一株植物。
b 点击
打开 属性(Properties)窗口,关闭实体的碰撞体(collider)。如下图,所选植物的 胶囊体(Capsule)碰撞体已设为 关闭(Off)。
c 点击 + 触发器(+ Trigger)为实体添加触发器。可选 球体(Sphere)、盒体(Box)、胶囊体(Capsule)。本例为植物添加了触发盒,并设置中心和尺寸。

-
为实体添加新的 Lua 脚本。如不清楚操作,请参考创建或添加脚本。
设置摄像机距离
要设置摄像机与目标的距离,调用 SetCameraDistance 方法。
如需将距离设为 100,可用如下代码:
PhysicsAPI.OnTriggerEnter(function(trigger,entity)
--下方逻辑将在角色进入任意触发盒时生效
YaCameraAPI.SetCameraDistance(entity,100)
end)
保存脚本并在播放模式(Play Mode)下测试。下图展示进入触发盒前后的效 果:
| 修改前 | 修改后 |
|---|---|
![]() | ![]() |
设置摄像机是否可被用户输入控制
要设置摄像机是否可被用户输入控制,调用 SetCameraControllable 方法。
如需禁止用户控制摄像机,将 controllable 参数设为 false:
PhysicsAPI.OnTriggerEnter(function(trigger,entity)
--下方逻辑将在角色进入任意触发盒时生效
YaCameraAPI.SetCameraControllable(entity,false)
end)
保存脚本并在播放模式下测试。此时用户无法缩放、移动摄像机,也无法干扰预期体验。

