ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
Create Render Target 2Dは、ゲームの実行時(ランタイム)にRender Target(描画先となる2Dテクスチャ)を動的に生成するノードです。あらかじめコンテンツブラウザでアセットを用意しておかなくても、Blueprintから指定した解像度・フォーマットの空のRender Targetをその場で作り出せます。生成したRender Targetは、Scene Capture 2Dのキャプチャ先や、Draw Material to Render Targetなどの描画ターゲットとして使い、その結果をマテリアルやUIのテクスチャとして利用します。本記事では、このノードの引数と戻り値、基本的な使い方の流れ、典型的な用途、そしてアセットを事前作成する方法との違いや注意点までを解説します。
| この記事の要点 |
|---|
|
Render Target 2Dとは
Render Targetとは、エンジンが「描画先」として書き込めるテクスチャのことです。通常のテクスチャ(インポートした画像など)が読み取り専用の静的なデータであるのに対し、Render Targetはカメラのキャプチャ結果やマテリアルの描画結果をリアルタイムで受け取れる、いわば「動的に中身が変わるキャンバス」です。GPU上に確保されるため、書き込んだ内容をそのままマテリアルのテクスチャとして読み出して画面に表示できます。
Texture Render Target 2Dはその名のとおり2次元(平面)のRender Targetで、ミニマップや鏡など平面的な用途に使います。これに対して周囲360度をキャプチャするCube版(Texture Render Target Cube)も存在しますが、本ノードが扱うのは2Dの方です。
このノードの引数と戻り値
Create Render Target 2Dノードの入力(引数)と出力(戻り値)は次のとおりです。なお、引数の既定値や公開状況はUE5のバージョンで差があるため、エンジン上で実際のピンを確認してください。
| ピン | 型 | 役割 |
|---|---|---|
| Width | Integer | 生成するRender Targetの横の解像度(ピクセル)。 |
| Height | Integer | 縦の解像度(ピクセル)。 |
| Format | Render Target Format(enum) | ピクセルフォーマット。色の精度やチャンネル数を決める(後述)。 |
| Clear Color | Linear Color | 生成直後にRender Targetを塗りつぶす初期色。 |
| Auto Generate Mip Maps | Boolean | ミップマップを自動生成するかどうか。 |
| Support UAVs | Boolean | コンピュートシェーダー等からの書き込み(UAV)を許可するか。通常はオフ。 |
| Return Value | Texture Render Target 2D | 生成されたRender Targetオブジェクト。以降の処理で参照として使う。 |
このノードは内部的にはKismet Rendering Library(描画系の関数ライブラリ)に属する関数で、指定した寸法で初期化された新しいRender Targetを返します。返ってきたReturn Valueを変数に保存しておき、描画やマテリアルへの受け渡しに使い回すのが基本的な流れです。
Format引数の主な選択肢
Formatはテクスチャ1ピクセルあたりの色の表現方法を決めます。代表的なものは次のとおりです。フォーマットによってメモリ使用量と精度が変わります。
- RTF_RGBA8: 各チャンネル8ビット(RGBA)。一般的なカラー表示向けで、メモリ効率が良い標準的な選択肢。
- RTF_RGBA16f: 各チャンネル16ビット浮動小数点。HDRや高精度が必要な場面向け。
- RTF_RGBA32f: 各チャンネル32ビット浮動小数点。最も高精度だがメモリ消費は大きい。位置情報など高精度データの格納にも使われる。
- RTF_R8 / RTF_R16f / RTF_R32f: 赤1チャンネルのみ。マスクや高さ、スカラーデータの格納に向く。
用途に対して精度が過剰なフォーマットはメモリと帯域の無駄になります。通常の見た目用ならRGBA8、HDRや計算用途で精度が要るならRGBA16f以上、という選び方が目安です。
使い方の流れ
Render Targetは「①作る → ②中身を描く → ③表示・利用する」の3ステップで使います。Create Render Target 2Dが担うのは①の部分です。
- 生成する: Begin PlayやコンストラクションなどでCreate Render Target 2Dを呼び、Width / Height / Formatを指定してRender Targetを作る。戻り値を変数に保存する。
- 中身を描画する: 生成したRender Targetを描画先として渡す。代表的な方法は次の2つ。
- Scene Capture Component 2Dの「Texture Target」に設定し、シーン内のカメラ映像をキャプチャする。
- Draw Material to Render TargetやBegin / End Draw Canvas to Render Targetで、マテリアルや図形・テキストを直接描き込む。
- 表示・利用する: 描画されたRender Targetを、マテリアルのTexture Sample(Texture Object)に渡してメッシュに貼る、またはUMG(UI)のImageブラシに設定して画面に表示する。
// 概念的な処理の流れ(擬似コード) MyRT = CreateRenderTarget2D(Width=512, Height=512, Format=RTF_RGBA8) SceneCapture.TextureTarget = MyRT // このRTにカメラ映像を描く Material.SetTextureParameter("Screen", MyRT) // 描いた結果をマテリアルで表示 |
典型的な用途
- ミニマップ: 真上に置いたScene Capture 2Dの映像をRender Targetに取り込み、UMGのImageとして画面隅に表示する。
- 鏡・水面の反射: 反射用カメラの映像をRender Targetへキャプチャし、鏡面マテリアルのテクスチャとして使う。
- ゲーム内カメラ映像・モニター: 監視カメラやバックミラーなど、別視点の映像をワールド内のスクリーンに映す。
- スクリーンショット・サムネイル: キャプチャ結果のRender Targetをテクスチャや画像ファイルとして書き出す。
- プロシージャルな描き込み: Draw系ノードで足跡・ダメージ・落書きなどをRender Targetに蓄積し、マテリアルで反映する。
アセットとして事前作成する方法との違い
Render Targetは、本ノードで実行時に作る方法のほかに、コンテンツブラウザで右クリック →「Render Target」アセットを事前に作っておく方法もあります。両者は中身は同じTexture Render Target 2Dですが、性質が異なります。
| 観点 | Create Render Target 2D(実行時生成) | アセットとして事前作成 |
|---|---|---|
| 解像度・フォーマット | 実行時に変数で動的に決められる | アセットに固定(事前設定) |
| 必要な数 | プレイヤー数や状況に応じて可変に作れる | あらかじめ用意した数だけ |
| マテリアルからの直接参照 | 変数経由でセットする必要がある | マテリアルに直接ひも付け可能 |
| 管理のしやすさ | コードで管理(破棄の考慮も必要) | アセットとして可視・再利用が容易 |
| 向いている場面 | 数や解像度が動的に変わる場合 | 固定的・少数で済む場合 |
解像度やフォーマットを状況に応じて変えたい、必要な枚数が実行時まで決まらない、といったケースでは本ノードの動的生成が有効です。逆に、固定の1枚をマテリアルへ直接ひも付けたいだけならアセットを事前作成する方がシンプルです。
落とし穴と注意点
| 注意点 | 内容 |
|---|---|
| 解像度とメモリ | Render TargetはGPUメモリ(VRAM)を消費する。解像度を倍にすると面積は4倍になりメモリも増える。表示サイズに見合った解像度に抑える。 |
| フォーマットの過剰指定 | 通常の見た目用にRGBA32fを使うとメモリと帯域を浪費する。必要な精度に合わせて最小限のフォーマットを選ぶ。 |
| 毎フレーム生成しない | Tickなどで毎フレームCreateを呼ぶと、その都度新しいRender Targetが作られ無駄が大きい。一度作って変数に保持し、再利用する。 |
| 更新頻度の制御 | Scene Captureは負荷が高い。常時更新が不要なら、必要なタイミングだけキャプチャする設定にして負荷を下げる。 |
FAQ
Q. 作ったRender Targetをマテリアルに表示するには?
A. マテリアル側にTexture Object(テクスチャ)パラメータを用意しておき、Blueprintで作成したマテリアルインスタンスにSet Texture Parameter Valueで戻り値を渡します。そのマテリアルをメッシュやUIに適用すれば、Render Targetの中身が表示されます。
Q. Render Targetが真っ黒・何も映らないときは?
A. 「描画する」ステップが実行されていない可能性が高いです。Scene Captureの「Texture Target」に作成したRender Targetを設定しているか、キャプチャが実行されているか、対象がカメラの画角内にあるかを確認してください。それでも不明な場合は公式ドキュメントの確認を推奨します。
Q. 解像度はどう決めればよい?
A. 最終的に画面へ表示されるおおよそのピクセルサイズが目安です。小さく表示するミニマップに4Kは不要です。256~1024程度から始め、見た目とパフォーマンスのバランスを見て調整するとよいでしょう。
まとめ
Create Render Target 2Dは、実行時に描画先テクスチャを動的生成するためのノードです。Width / Height / Formatで仕様を決めて生成し、戻り値のTexture Render Target 2DをScene CaptureやDraw系で描画して、マテリアルやUIで利用します。ミニマップ・反射・カメラ映像・スクリーンショットなど用途は広い一方、解像度とメモリ・フォーマット選択・毎フレーム生成の回避といった点に気を配ることで、品質と性能を両立できます。引数の既定値や挙動の細部はUE5のバージョンで差があるため、最終的な確認はエンジン上のノード表示と公式ドキュメントで行ってください。
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページはありません
- Event BeginPlay
- Event ActorBeginOverlap
- Event Tick
- on component begin overlap
- On Component Hit
- CameraBoom(Spring Arm)
- Get Player Character
- Nav Mesh Bounds Volume
- AI MoveTo
- Pawn
- Create Render Target 2D
- Take High Res Screenshotノード
- Sphere Reflection Capture
- Event Tickノード
- ウィジェットのキャンバスパネル
- DefaultSceneRoot
- FloatingPawnMovement
- Set World Rotation
- Event Any Damage
- Set World Rotation
- VInterp To
- Get Socket Transform
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- IPv6とは|128bitアドレス・コロン16進表記/::省略・リンクローカル・SLAAC・デュアルスタック NEW 2026-06-22 12:34:44
- VPNとは|暗号トンネル・サイト間/リモートアクセス・IPsec/SSL-VPN/WireGuardを解説 NEW 2026-06-22 12:19:10
- MAC アドレスフィルタリングの仕組みと限界 | ネットワーク入門 NEW 2026-06-22 12:19:10
- gRPC とは HTTP/2 + Protocol Buffers の高速 RPC | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebRTC とは ブラウザ間 P2P の音声・映像・データ通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/2 とは 多重化・HPACK・バイナリフレーム | ネットワーク入門 NEW 2026-06-22 12:17:25
- Web通信プロトコル入門 HTTP/2・HTTP/3・WebSocket・gRPC・WebRTC | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/3 (QUIC) とは UDP ベースの低遅延 Web 通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebSocket とは 全二重リアルタイム通信 ws/wss | ネットワーク入門 NEW 2026-06-22 12:17:25
- HAProxy とは frontend/backend と設定例 | ネットワーク入門 NEW 2026-06-22 12:17:24
- 証明書と認証局(CA)とは|X.509・信頼チェーン・DV/OV/EV・失効(CRL/OCSP)を解説 NEW 2026-06-22 12:17:24
- ファイアウォールとは|パケットフィルタ・ステートフル・DMZ・次世代FW(L4/L7)を解説 NEW 2026-06-22 12:17:24
- iptables/nftablesとは|テーブル・チェーン・ルール例・永続化をLinux視点で解説 NEW 2026-06-22 12:17:24
- CDN とは エッジキャッシュ・TTL・Cloudflare/CloudFront | ネットワーク入門 NEW 2026-06-22 12:17:24
- TLS/SSLの仕組み|ハンドシェイク・暗号スイート・前方秘匿性・証明書検証をわかりやすく解説 NEW 2026-06-22 12:17:24
コメントを削除してもよろしいでしょうか?