此処我何処

この宇宙には隠された真実がある───。そう思っていた時期が俺にもありました。

プレイヤーマッチの両側の視点を配信したい。

izk.hateblo.jp の関連記事です。

1対1の3D対戦ゲームで、両側の視点をOBSで配信したい場合の設定ポイントを書きます。

前提条件

  • プレイヤーマッチなどで、プレイヤー視点を選んで観戦できること
  • 配信者がゲーム画面をキャプチャできる
  • 対戦相手もしくは観戦者がゲーム画面をキャプチャしてDiscordボイスチャンネルで共有できる

この条件が揃えば、プレイヤーマッチの両側の視点を配信することが可能です。

事前知識

  • プレマなど観戦者の画面は、プレイヤーに比べ1秒(1000ms)前後の遅延があります。
  • Discordでキャプチャした映像を送ってもらう場合、相手との距離やキャプボのスペックによりますが、50~200ms程度の遅延があります。

やること

配信者が対戦と観戦を交代しながら遊ぶ場合、自分のキャプチャ映像・音声を使うことを前提に

  • 自分が観戦する場合
  • 自分が直接対戦する場合
  • Discordで画面共有してもらう相手が観戦の場合
  • Discordで画面共有してもらう相手が直接対戦する場合

これらの組み合わせ分の、遅延フィルタを設定したシーンを用意する必要があります。
この記事では、配信画面に画面を並べてタイミングを合わせるための遅延フィルタの使い方について説明します。

音声/映像フィルタ──映像の遅延(非同期)

自分が対戦する場合など、Discordの共有画面より自分の取り込み画面が早い場合に使います。

  1. OBSでソースに追加してある「カメラ・映像ソース」アイコンのソースのフィルタを開き"音声/映像フィルタ"欄に「映像の遅延(非同期)」を追加します。

  2. Discord共有者が観戦の場合、遅延時間1000ms程度を基準に調整してシーン「1. 自分対戦、Disco共有者対戦」作成。

  3. 配信者とDiscord共有者も直接対戦の場合、遅延時間100ms程度を基準に調整してシーン「2. お互い対戦 or お互い観戦」作成。

  4. 自分が観戦、Discord共有画面キャプも逆視点の観戦の場合、観戦による差は起きないので3と同じシーンを使います。


エフェクトフィルタ──レンダリング遅延

自分がプレマ観戦でDiscordの共有画面が対戦プレイヤー者など、共有してもらった画面のほうが早い場合に使います。

  1. OBSでソースに追加してある「ウィンドウキャプチャ」アイコンのソースのフィルタを開き、"エフェクトフィルタ"欄に「レンダリング遅延」を3つ続けて追加します。

  2. 2つのレンダリング遅延フィルタに、遅延時間:500ms程度を設定してシーン「3.自分観戦、Disco共有者対戦」作成します。

  3. キャプチャして送信してもらった映像と合わせてOBSでプレビューし、まだ映像が早い場合は3つめのフィルタに遅延時間を追加します。