快速入门
方式一:OBS Component(推荐大多数用户使用)
最简单的入门方式:
- 将 OBS Controller 组件添加到任意 Actor
- 在细节面板顶部的 Features 选择器中,开启所需的功能域(默认启用场景、录制与推流,连接功能始终开启)
- 在连接卡片中填写连接设置,然后点击 Connect
- 使用内置控件,或在 Blueprint 中绑定事件
细节面板无需编写任何代码即可完整控制 OBS,且只显示你选择的功能,保持组件界面简洁清晰。
详情请参阅 OBS Component 的完整参考文档。
方式二:OBS Trigger Volume(用于自动触发)
创建区域,当玩家进入或离开时自动控制 OBS:
- 在你的关卡中放置一个 OBS Trigger Volume Actor
- 配置触发区域的形状(方形或球形)
- 设置触发条件(例如,仅在录制时触发)
- 添加要执行的动作(例如,切换场景、保存 Replay Buffer)
适用场景:
- 进入不同游戏区域时切换场景
- 到达检查点时保存精彩片段的 Replay Buffer
- 在特定区域内静音/取消静音音频
详情请参阅 OBS Trigger Volume 的完整触发参考文档。
方式三:Blueprint 脚本
// Get the OBS Subsystem
Get Game Instance → Get Subsystem (InhyeongOBSSubsystem)
// Connect to OBS
Connect (Host: "localhost", Port: 4455, Password: "your_password")
// Control OBS
Set Current Scene (Scene Name: "Gaming")
Start Record
Save Replay Buffer
// React to events
Bind to On Scene Changed
Bind to On Replay Buffer Saved
方式四:C++ 集成
// Get subsystem
UInhyeongOBSSubsystem* OBS = GetGameInstance()->GetSubsystem<UInhyeongOBSSubsystem>();
// Connect and control
OBS->Connect("localhost", 4455, "password");
OBS->SetCurrentScene("Gaming");
OBS->StartRecord();
// Use handlers for advanced features
if (UInhyeongOBSMediaInputs* Media = OBS->GetMediaInputs())
{
Media->PlayMedia("Background Music");
}
if (UInhyeongOBSFilters* Filters = OBS->GetFilters())
{
Filters->CreateSourceFilterFromString("Webcam", "Color Correction", "color_filter_v2", "");
Filters->SetSourceFilterEnabled("Webcam", "Color Correction", true);
}
// Bind to events (dynamic delegates for UFUNCTIONs)
OBS->OnReplayBufferSaved.AddDynamic(this, &AMyActor::HandleReplaySaved);
// Or use native delegates with lambdas
OBS->GetOutputs()->OnReplayBufferSavedNative.AddLambda([](const FString& Path) {
UE_LOG(LogTemp, Log, TEXT("Saved: %s"), *Path);
});