画面の隅にミニマップを出したい。壁のモニターに別の部屋の映像を映したい。キャラクター選択画面で、選んだキャラを回転させて見せたい。
これらは全部、同じ1つの仕組みで作れます。カメラで撮った映像を、テクスチャとして貼る——UEでは Scene Capture Component 2D と Texture Render Target 2D の組み合わせです。この記事では、その3点セットの作り方、ミニマップ特有の設定、そして知らずに使うと重いというコストの話を解説します。
この記事でわかること
- Render Targetは 実行中に書き換えられるテクスチャ(更新頻度は自分で決める)
- 3点セット(撮る・受け皿・貼る先)
- UMGの
Imageに貼ってUIに出す- ミニマップは Orthographic 、モニターは Perspective
- 🚨 Scene Captureはシーンをもう1回描く(
Capture Every FrameとCapture on Movementを両方オフ)- 実践: ミニマップと監視カメラを両方作る
Render Targetは動くテクスチャ
普通のテクスチャは、絵が焼き込まれた画像ファイルです。何度読み込んでも同じ絵が出ます。
Render Target は違います。実行中に中身を書き換えられるテクスチャです。「カメラが撮った映像」を入れておく箱、と考えてください。
どれくらいの頻度で書き換わるかは、こちらで決められます。 既定では毎フレーム更新されますが、あとで見るように この頻度がそのまま負荷になる ので、実用では意図的に間引きます。

テクスチャである以上、普通のテクスチャと同じように使えます。マテリアルに貼れるし、UMGの Image にも出せます。だからこそ、次のようなものが全部同じ仕組みで作れます。
| 作れるもの | 撮るもの | 貼る先 |
|---|---|---|
| ミニマップ | キャラの真 上から見た地形 | UMGの Image |
| 監視カメラのモニター | 別の部屋 | 壁のメッシュのマテリアル |
| キャラ選択のプレビュー | 台に載せたキャラ | UMGの Image |
| バックミラー | 車の後方 | 鏡のメッシュのマテリアル |
3点セットを組む
必要なのは3つだけです。撮るもの・受け皿・貼る先。

| # | 名前 | 役割 |
|---|---|---|
| 1 | Scene Capture Component 2D | 撮る側。カメラのようなコンポーネント |
| 2 | Texture Render Target 2D | 受け皿。撮った映像が入るアセット |
| 3 | Material または UMGの Image | 貼る先。受け皿の中身を表示する |
手順はこうです。
- コンテンツブラウザで右クリック → Texture → Render Target を作る(
RT_Minimapなど)。作った直後は真っ黒です - Actorに
Scene Capture Component 2Dを追加する - そのコンポーネントの詳細パネルで、
Texture Targetに手順1で作ったRender Targetを指定する
この3つ目の指定が接続点です。Texture Target に受け皿を差した瞬間から、そのRender Targetの中身が更新されはじめます。
Render Targetをコンテンツブラウザでダブルクリックすると、今撮れている映像がそのまま見えます。ここが真っ黒なままなら、Texture Target の指定を忘れているか、カメラが何も映していない場所を向いています。
解像度は作るときに決めます。 Render Targetの詳細パネルで
Size X/Size Yを設定します。ミニマップなら512×512、小さなモニターなら256×256で十分です。大きいほど重くなるので、必要最小限にしてください。
UIに出す
ミニマップのように画面に出す場合は、UMGの Image へ貼ります。
UMGの Image の Brush には、テクスチャを直接指定できます。Render Targetもテクスチャなので、そのまま指定できます。

- Widget Blueprint に
Imageを置く - 詳細パネルの Appearance → Brush → Image に、作った Render Target を指定する
- サイズと位置を調整する(画面の右上や左下など)
これだけで、カメラが撮っている映像がUIに出ます。
壁のモニターのように3D空間のメッシュに映す場合は、いったんマテリアルを経由します。マテリアルを新規作成し、Render Targetを Texture Sample ノードとして置いて、その出力を Emissive Color へ繋ぎます。Emissive に繋ぐのは、モニターは自分で光っているように見せたいからです(→ マテリアルの基本)。
ミニマップの設定
ミニマップを作るとき、Scene Capture Component 2D の設定で2つだけ押さえておけば形になります。
1つ目は Projection Type。

| 種類 | 見え方 | 向いている用途 |
|---|---|---|
| Perspective | 遠近が付く(遠いものは小さい) | 監視カメラ、バックミラー、キャラプレビュー |
| Orthographic | 遠近が付かない(全部同じ大きさ) | ミニマップ、設計図のような俯瞰図 |
ミニマップは Orthographic です。遠近が付くと、画面の端にいる敵が小さく歪んで見え、位置関係が正確に読めなくなります。Orthographicなら真上から見た地図と同じで、距離と方向がそのまま読めます。
Orthographicにすると、範囲は Ortho Width で決めます。この数値がミニマップの縮尺です。大きくすると広く写り、小さくすると拡大されます。
2つ目は、キャラに追従させるかどうか。
カメラをキャラの子にして真上に配置すると、位置は自動で付いてきます。悩むのは回転です。
| やり方 | 見え方 | 向いている |
|---|---|---|
| 回転も追従 | 常に自分が上を向く | アクション。進行方向が直感的 |
| 回転は固定 | 北が常に上 | 探索。地形を覚えやすい |
どちらも正解です。回転を固定したい場合は、Scene Capture Component 2D の詳細パネルで Absolute Rotation を有効にすると、親の回転を無視して向きを保てます。
🚨 重さの話
ここがこの機能でいちばん大事な節です。
Scene Capture Component 2D は、シーンをもう1回描きます。 メインのカメラで1回描いて、キャプチャ用にもう1回描く。つまり素直に置くと描画コストがほぼ倍になります。

しかも、Scene Captureを2つ置けば3回描きます。「ミニマップと監視カメラを両方置いたら急に重くなった」というのは、この計算どおりの結果です。
抑え方は3つあります。効果が大きい順に並べます。
| 対策 | やり方 | 効果 |
|---|---|---|
| 自動で撮らせない | Capture Every Frame と Capture on Movement を 両方オフにし、必要なときだけ Capture Scene を呼ぶ | 最大。監視カメラなら0.2秒に1回で十分 |
| 解像度を下げる | Render Targetの Size X / Y を小さくする | 大。1024 を 256 にすれば描く量は1/16 |
| 写すものを減らす | Show Flags で不要な要素(パーティクル、フォグ、被写界深度など)をオフにする | 中〜大。ミニマップに霧は要らない |
ここで見落としやすいのが Capture on Movement です。 手動更新にするために切るべきチェックは、2つあります。
| 項目 | 既定 | 何をするか |
|---|---|---|
Capture Every Frame | オン | 毎フレーム撮る |
Capture on Movement | オン | カメラが動いたときに撮る |
Capture Every Frame だけ切って満足していると、ミニマップでは効果が出ません。ミニマップのカメラはプレイヤーの子で、歩けば必ず動くからです。動くたびに撮られるので、実質的に毎フレーム撮っているのと変わらなくなります。

両方オフにすると、Blueprintから Capture Scene を呼んだ瞬間だけ撮影されます。 Set Timer by Event で0.1〜0.2秒ごとに呼べば、見た目はほぼ変わらずコストが数分の1になります(→ Tickに頼らない設計)。
実際にどれだけ重いかは、statコマンド の stat unit で Draw と GPU を見れば分かります。Scene Captureを置く前と後で測って比べてください。
実践:ミニマップと監視カメラを作る
見下ろしARPGのミニマップ、ステルスゲームの監視カメラモニター、レースゲームのバックミラー。同じ3点セットで、設定だけが変わります。ここでは対照的な2つを作って、設定の意味を体で覚えます。
作るもの
| ① ミニマップ | ② 監視カメラ | |
|---|---|---|
| 撮る場所 | プレイヤーの 真上 1500 | 別の部屋の天井 |
Projection Type | Orthographic | Perspective |
Ortho Width | 3000.0 | (使わない) |
| Render Target | RT_Minimap(512×512) | RT_SecurityCam(256×256) |
| 貼る先 | UMGの Image(画面 右上) | 壁のメッシュのマテリアル |
Capture Every Frame | オフ | オフ |
Capture on Movement | オフ | オフ |
| 撮る間隔 | 0.1秒ごとに Capture Scene | 0.2秒ごとに Capture Scene |

① ミニマップ
RT_Minimapを作る(右クリック → Texture → Render Target、Size X/Y = 512)- プレイヤーのBlueprintに
Scene Capture Component 2Dを追加し、Location = (0, 0, 1500)、Rotation = (0, -90, 0)(真下を向く)にする - 詳細パネルで
Texture Target = RT_Minimap、Projection Type = Orthographic、Ortho Width = 3000.0、そしてCapture Every FrameとCapture on Movementを両方オフ(プレイヤーの子なので、Capture on Movementを残すと歩くたびに撮られます) - Widget Blueprintに
Imageを置き、BrushにRT_Minimapを指定して、画面右上へ配置する - プレイヤーの
Event BeginPlayでSet Timer by Event(Time = 0.1、Looping = true)を作り、そのイベントからCapture Scene(Target: Scene Capture Component)を呼ぶ
② 監視カメラ
RT_SecurityCamを作る(Size X/Y = 256)- 別の部屋に空のActorを置き、
Scene Capture Component 2Dを追加。部屋を見下ろす向きにする Texture Target = RT_SecurityCam、Projection Typeは Perspective のまま、Capture Every FrameとCapture on Movementを両方オフ- マテリアル
M_Monitorを新規作成し、Texture SampleにRT_SecurityCamを指定してEmissive Colorへ繋ぐ - 壁に置いた板状のメッシュに
M_Monitorを適用する - 手順2のActorの
Event BeginPlayでSet Timer by Event(Time = 0.2)からCapture Sceneを呼ぶ

BP_Player(イベントグラフ)
Event BeginPlay
→ Set Timer by Event(Time = 0.1, Looping = true)
├→ カス タムイベント「UpdateMinimap」へバインド
UpdateMinimap(Custom Event)
→ Capture Scene(Target: SceneCapture2D)
確かめる
Playして画面の右上を見てください。うまくいっていれば、真上から見た地形と、その中心に自分が映ったミニマップが出ています。歩くと地形が流れ、自分は中心に留まります。Ortho Width を 3000 から 1500 に変えると、表示範囲が半分になって拡大されます。
監視カメラのほうは、壁のモニターに別の部屋の映像が映っているはずです。その部屋に別のActorを動かして置けば、モニターの中でも動きます。
そして最後に、stat unit を出して Draw と GPU を確認してください。 Scene Captureを2つ置いた状態でも、2つのチェックをオフにしていれば数値の跳ね上がりは小さいはずです。試しに ミニマップ側の Capture on Movement だけをオンに戻して、歩き回ってみてください。Capture Every Frame がオフのままでも数値が上がります。これが「2つ切る」理由です。
うまくいかないときの切り分けです。
- ミニマップが真っ黒 →
Texture Targetが未設定か、自動撮影を切ったままCapture Sceneを1度も呼んでいません - 切ったのに軽くならない →
Capture on Movementが残っています。プレイヤー追従のカメラでは、これだけで毎フレーム撮っているのと同じになります - 自分のキャラだけ映らない → 真上のカメラが近すぎて、キャラがニアクリップ面に入っています。
LocationのZを上げてください - 画面の端が歪む →
Projection TypeがPerspectiveのままです。ミニマップはOrthographicにします - 急に重くなった →
Capture Every Frameがオン、または解像度が大きすぎます
ポイントは2つです。
- 撮る頻度が、そのままコスト:
Capture Every FrameとCapture on Movementを 両方 オフにして、タイマーで間引くのがいちばん効く最適化です。ミニマップは0.1秒、監視カメラは0.2秒でも見た目はほとんど変わりません - Orthographic か Perspective かは「地図か、映像か」で決める: 位置関係を読ませたいなら Orthographic、実際の見え方を見せたいなら Perspective。ミニマップに遠近を付けると読みにくくなります
描くものを減らす方向でさらに詰めたくなったら、LODとカリング が次の担当です。
おまけ:先に知っておくと良いこと
キャラ選択のプレビューも同じ仕組み。 誰も来ない場所に台とキャラを置き、Scene Capture Component 2D で撮ってUMGに出すだけです。「キャラを回転させて見せる」は、撮っているキャラのほうを回すだけで作れます。
ポータル表現の入口でもある。 「覗くと向こう側が見える」ドアは、向こう側にカメラを置いてRender Targetに撮り、それをドアのマテリアルへ貼る、という発想の延長にあります。ただしカメラの位置をプレイヤーの視点に合わせて動かす必要があり、難易度は一段上がります。
Canvas Render Target 2D という別の道もある。 これはカメラで撮るのではなく、自分で線や図形を描き込むタイプのRender Targetです。「敵の位置を点で打つだけのミニマップ」なら、シーンを撮るよりこちらのほうが圧倒的に軽くなります。地形を映す必要がないなら検討する価値があります。
Show Flagsは宝の山。 Scene Capture Component 2D の詳細パネルには、何を描画するかのチェックリスト(Show Flags)があります。ミニマップならパーティクル・フォグ・被写界深度・ブルームあたりは全部切って構いません。見た目が変わらないのに軽くなる、いちばん気持ちのいい最適化です。
まとめ
- Render Targetは 実行中に中身を書き換えられるテクスチャ 。普通のテクスチャと同じように貼れる。 更新頻度は自分で決める
- 3点セットは Scene Capture Component 2D(撮る)+ Texture Render Target 2D(受け皿)+ Material / UMGの Image(貼る先)
- ミニマップは Orthographic 、範囲は
Ortho Width。監視カメラは Perspective - 🚨 Scene Captureはシーンをもう1回描く 。
Capture Every FrameとCapture on Movementを両方オフにして間引くのが最優先 - 解像度を下げる・
Show Flagsを切る、も効く
仕組みは1つでも、設定次第でミニマップにも監視カメラにもプレビュー画面にもなります。あなたのゲームで、まず作りたいのはどれでしょうか。