この内容は古いバージョンです。最新バージョンを表示するには、戻るボタンを押してください。
バージョン:3
ページ更新者:T
更新日時:2026-06-11 07:07:02

タイトル: ゲーム内のカメラ映像を保存して再表示する方法
SEOタイトル: UE5 でカメラ映像を保存・再表示(Render Target / Scene Capture / Sequencer / Media Texture)

この記事の要点
  • スクリーンショット以外でカメラ映像を保存・再表示する 3 つの手段: Render Target / Sequencer / Media Texture
  • Render Target + Scene Capture Component 2D: 特定カメラの映像をテクスチャにリアルタイムで書き込む
  • Sequencer: ゲーム内カメラを録画しムービー (mp4 等) として出力。後から Media Texture でゲーム内再生
  • Media Texture + Media Player: 動画ファイルをテクスチャ化してオブジェクトに貼り付け再生
  • 用途別: 監視カメラ風 UI / ミラー表現なら Render Target、リプレイ / 演出なら Sequencer + Media

はじめに

Unreal Engine 5 (UE5) でゲーム内のカメラ映像を保存し、後でゲーム内に再表示する手段はいくつかあります。最も簡単な方法は HighResShot などのスクリーンショット系コマンドですが、それでは動的な映像表現や監視カメラのようなリアルタイム再表示には対応できません。

本記事ではスクショ以外の方法として、Render Target / Sequencer / Media Texture の 3 種を整理します。

用途別の選び方

やりたいこと推奨手段
監視カメラ / ミラー / ミニマップ (リアルタイム表示)Render Target + Scene Capture 2D
カットシーン / リプレイの録画と再生Sequencer + Media Texture
静止画として保存して後で表示Render Target を ExportRenderTarget でファイル出力
プレイヤーの操作を記録して再現したいReplay System (Demo Recording)

方法 1: Render Target でリアルタイム映像化

Render Target (レンダリングターゲット) は、シーンの映像を書き込むテクスチャです。Scene Capture Component と組み合わせると、特定のカメラ視点をリアルタイムでテクスチャ化できます。監視カメラ、バックミラー、ミニマップなどに最適。

手順

  1. Render Target の作成
    コンテンツブラウザで「右クリック」→「マテリアル&テクスチャ」→「レンダリングターゲット」を選択。解像度は用途に応じて (監視カメラなら 512x512 程度、フルスクリーン映像なら 1920x1080)。
  2. Scene Capture Component 2D の配置
    レベル内のアクター (空のアクターでも可) に「Scene Capture Component 2D」をアタッチし、視点を撮影したい位置・方向に調整。
  3. Render Target と接続
    Scene Capture Component の Details パネル → Texture Target に、作成した Render Target を指定。
  4. マテリアルの作成
    新規マテリアルを作成し、Texture Sample ノードに Render Target を割り当て → BaseColor (または Emissive Color) に接続。
  5. オブジェクトに適用
    監視カメラのモニタ、車のミラーなどのメッシュにこのマテリアルを適用すれば、リアルタイム映像が表示されます。

パフォーマンスの注意

  • Scene Capture は毎フレーム描画するため重い。Capture Every Frame をオフにして必要時のみ CaptureScene を Blueprint で呼ぶ運用が定石
  • 解像度を抑える (256 〜 512 程度) と劇的に軽くなる
  • Always Persist Rendering State をオンにしてランタイム品質を安定させる

方法 2: Sequencer で録画 → ムービー出力

UE5 標準の Sequencer はカットシーン作成ツールですが、ゲームプレイの録画にも転用可能です。出力ムービーを後で Media Texture でゲーム内再生する流れになります。

手順

  1. Sequencer で空の Level Sequence を作成
  2. プレイヤーのカメラ (Camera Actor) を「+ Track」でトラック追加
  3. 記録ボタン (赤丸) を押してゲームプレイを開始 → カメラ操作が録画される
  4. Sequencer の「Render Movie」ボタン → 出力フォーマット (mp4 / avi / image sequence) を選択して書き出し

Media Texture での再生

書き出した動画を再びゲーム内で再生する手順:

  1. 動画ファイルを File Media Source としてインポート
  2. 「Media Player」アセットを作成し、再生対象に File Media Source を指定
  3. 「Media Texture」を作成し、Media Player と関連付け
  4. マテリアルの Texture Sample に Media Texture を割り当て
  5. BeginPlay 等で MediaPlayer->OpenSource() & MediaPlayer->Play() を実行

方法 3: Replay System (オプション)

UE5 には標準で Replay System (Demo Recording) があります。これはゲームプレイの入力やネットワーク差分を保存して、後から完全再現する仕組み。映像ではなくシミュレーション再生なので、視点の自由変更やスローモーションが可能です。

// 記録開始 (C++)
GetWorld()->GetGameInstance()->StartRecordingReplay(
    TEXT("MyReplayName"),
    TEXT("MyFriendlyName")
);

// 記録停止
GetWorld()->GetGameInstance()->StopRecordingReplay();

// 再生
GetWorld()->GetGameInstance()->PlayReplay(TEXT("MyReplayName"));

FPS や格闘ゲームのリプレイ機能でよく使われる仕組みです。映像ではなく入力ログを保存するため、ファイルサイズが圧倒的に小さいのが特徴。

方法の比較

方法リアルタイム性ファイル保存負荷
Render Target◎ (毎フレーム)個別に Export 必要中 (解像度依存)
Sequencer + Media× (録画後再生)○ (動画ファイル)低 (再生時)
Replay System○ (シミュレーション)○ (差分ログ)

応用例

  • 監視カメラのモニタ画面: Render Target をテレビ型メッシュに貼る
  • 車のサイドミラー: Render Target を平面メッシュに反転して表示
  • カットシーンのリプレイ: Sequencer 録画 → ゲームクリア時にプレイバック
  • プレイ動画の SNS シェア: Sequencer 出力 mp4 をユーザーがダウンロード
  • e スポーツ向けリプレイ: Replay System でフリーカメラ視点での観戦機能

まとめ

UE5 では、単純なスクリーンショット以外にも、Render Target によるリアルタイム表示、Sequencer + Media Texture による動画録画再生、Replay System による入力ベースのリプレイなど、多彩な手段が用意されています。ゲーム体験のどこを残したいかに応じて、最適な手段を選びましょう。