OBS Component 与场景监视
OBS Component(UInhyeongOBSComponent)是一个基于 Actor 的 ActorComponent 封装器,用于管理 OBS 连接。将其添加到任意 Actor,即可获得一个独立的 OBS 控制器,支持自动连接、细节面板中的功能选择器,以及完整的 OBS 控制方法集。
它映射了 Subsystem API:相同的场景、录制/推流、音频和转场方法均可在该组件上使用,且作用范围限定于该 Actor 的连接。当需要显式的、基于 Actor 的控制时(例如多个 OBS 连接),请使用该组件。若一个共享连接已足够,则使用全局 Subsystem。
Editor: 该组件完全通过其 Details Panels 进行配置,包括控制各分区渲染的功能选择器、醒目的连接卡片,以及下文介绍的 Watched Scenes 选择器。
场景监视
OBS Component 包含场景监视功能,当 OBS 切换到或离开您关注的特定场景时,会触发相应事件。这使得游戏逻辑可以响应场景切换,包括直接在 OBS 中手动切换场景的操作。
配置
// In Blueprint or C++
OBSComponent->WatchedScenes.Add("Boss Arena");
OBSComponent->WatchedScenes.Add("Cutscene");
// Or at runtime
OBSComponent->AddWatchedScene("Victory Screen");
OBSComponent->RemoveWatchedScene("Cutscene");
WatchedScenes 是一个可编辑的场景名称列表。AddWatchedScene / RemoveWatchedScene 可在运行时对其进行修改。
事件
| 事件 | 触发时机 |
|---|---|
OnEnteredWatchedScene(SceneName) | OBS 切换到某个已监视场景时 |
OnLeftWatchedScene(SceneName) | OBS 切换离开某个已监视场景时 |
使用场景
- 当特定 OBS 场景激活时,触发游戏事件。
- 将游戏状态与 OBS 场景切换同步。
- 响应在 OBS 中手动执行的场景切换。
Editor:Watched Scenes 选择器
该组件的细节面板包含一个 Watched Scenes 分区,内有场景选择器(在已连接时从 OBS 获取场景列表)用于添加条目,以及每个场景对应的移除按钮,因此无需编写代码即可对列表进行完整编辑。
另请参阅
- Subsystem API:该组件所映射的完整方法集。
- Details Panels:该组件的编辑器 UI 与功能选择器。
- OBS Trigger Volume:可针对特定 OBS Component 的无代码空间自动化功能。