Skip to content

Desuq Cafe

文档菜单

此翻译可能落后于最新的英文版本。 查看英文版

快速入门

方式一:OBS Component(推荐大多数用户使用)

最简单的入门方式:

  1. OBS Controller 组件添加到任意 Actor
  2. 在细节面板顶部的 Features 选择器中,开启所需的功能域(默认启用场景、录制与推流,连接功能始终开启)
  3. 在连接卡片中填写连接设置,然后点击 Connect
  4. 使用内置控件,或在 Blueprint 中绑定事件

细节面板无需编写任何代码即可完整控制 OBS,且只显示你选择的功能,保持组件界面简洁清晰。

详情请参阅 OBS Component 的完整参考文档。

方式二:OBS Trigger Volume(用于自动触发)

创建区域,当玩家进入或离开时自动控制 OBS:

  1. 在你的关卡中放置一个 OBS Trigger Volume Actor
  2. 配置触发区域的形状(方形或球形)
  3. 设置触发条件(例如,仅在录制时触发)
  4. 添加要执行的动作(例如,切换场景、保存 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);
});