Skip to content

Desuq Cafe

ドキュメントメニュー

この翻訳は最新の英語版より遅れている場合があります。 英語版を表示

クイックスタート

方法 1: OBS Component(多くのユーザーに推奨)

最も簡単な始め方です。

  1. 任意のアクタに OBS Controller コンポーネントを追加します。
  2. 詳細パネル上部の 機能ピッカー で、使いたいドメインを有効にします(初期状態では Scenes と Recording & Streaming が有効で、Connection は常時有効です)。
  3. 接続カードに接続設定を入力し、接続 をクリックします。
  4. 組み込みコントロールを使うか、Blueprint でイベントにバインドします。

詳細パネルはコードを書くことなく OBS を完全に制御でき、選択した機能だけが表示されるため、最小構成のコンポーネントをすっきりした状態に保てます。

完全なコンポーネントリファレンスは OBS Component を参照してください。

方法 2: OBS Trigger Volume(自動トリガー向け)

プレイヤーが出入りしたときに OBS を自動的に操作するエリアを作成します。

  1. レベル内に OBS Trigger Volume アクタを配置します。
  2. トリガーの形状(ボックスまたはスフィア)を設定します。
  3. 条件を設定します(例: 録画中のみトリガー)。
  4. 実行するアクションを追加します(例: シーンの切り替え、リプレイの保存)。

以下のような用途に最適です。

  • ゲームエリアに入ったときにシーンを切り替える
  • チェックポイントに到達したときにリプレイのハイライトを保存する
  • 特定のゾーンで音声をミュート / ミュート解除する

完全なトリガーリファレンスは OBS Trigger Volume を参照してください。

方法 3: 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

方法 4: 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);
});