RenderDoc は、無料のスタンドアローンのオープンソース グラフィック デバッガであり、Unreal Engine などのアプリケーションの 1 フレーム キャプチャを実行するために使用できます。 キャプチャは RenderDoc にロードされ、イベント、API などを通じて GPU で起きていることを詳細に調べることができます。
RenderDoc をインストールする
RenderDoc は、無料のオープンソースのグラフィック デバッガであり、RenderDoc.org からダウンロードおよびインストールできます。
以下は RenderDoc で現在サポートされているオペレーティング システムと API のリストであり、Unreal Engine でサポートされているものとは異なる場合があります。 最新情報については、RenderDoc の FAQ ページを参照してください。
RenderDoc は次のオペレーティング システムをサポートしています。
Windows 7、10、11
Linux
Android
RenderDoc は次の API をサポートしています。
Vulkan
D3D11
D3D12
OpenGL 3.2+
OpenGL ES 2.0 — 3.2
プロジェクトで RenderDoc を有効にする
RenderDoc プラグインはエンジンに含まれており、デフォルトで有効になっています。 プロジェクトで RenderDoc を実行するには、コマンドライン引数を使用する方法と、プロジェクト設定を使用する方法があります。
起動時に RenderDoc がアタッチされると、レベル ビューポートの右上隅に RenderDoc アイコンが表示されます。
それぞれがどのように有効になっているかを確認するには、以下の手順に従います。
プラグインのプロジェクト設定で有効にする
[Project Settings (プロジェクト設定)] の [Plugins (プラグイン)] > [RenderDoc] にある [Advanced Settings (詳細設定)] で [Auto Attach on startup (スタートアップで自動アタッチ)] をオンにします。 このメソッドは、プロジェクトがロードされる際の起動時に RenderDoc を実行したい場合に最適です。
コマンドラインで有効にする
エディタのショートカットを使用してコマンドライン引数を有効にする。 [Shortcut (ショートカット)] タブで、Target 行に -AttachRenderDoc を追加します。 このメソッドは、一定時間に限り、RenderDoc を実行したい場合に最適です。
フレーム キャプチャの実行
次の手順では、統合 RenderDoc プラグインを使用して、または RenderDoc アプリケーションから直接、Unreal Engine プロジェクトで単一フレーム キャプチャを実行する方法の概要を説明します。
RenderDoc の機能および使用方法に関する詳細は、RenderDoc のドキュメントを参照してください。
RenderDoc プラグイン
Unreal Engine の RenderDoc プラグインを使用してフレームをキャプチャするには、次の手順を使用します。
プロジェクト用に RenderDoc プラグインを有効にする。
キャプチャを実行するプロジェクトおよびシーンを開きます。
レベル ビューポートにある RenderDoc Capture (RenderDoc キャプチャ) ボタンをクリックします。
画像をクリックすると拡大表示されます。
RenderDoc アプリケーション
以下は、Unreal Engine を使用し、スタンドアローンの RenderDoc 実行可能ファイルを使用してフレームをキャプチャするのに必要な高レベルの手順です。
RenderDoc を設定して、適切なコマンドライン引数を指定してゲームまたは UEEditor.exe を起動します。
UEEditor.exe で起動するときに Capture Child Processes (子プロセスのキャプチャ) を有効にします。
実行可能ファイルを起動します。
F12 ホットキーを押して、フレーム キャプチャを実行します。
RenderDoc の設定、アプリケーションの起動、およびフレーム キャプチャの実行の詳細については、「RenderDoc 入門ガイド」を参照してください。
プロジェクト設定
[Project Settings (プロジェクト設定)] ウィンドウを使用すると、追加の RenderDoc プロジェクトプラグイン設定を設定できます。 メイン メニューから Edit (編集) > Project Settings (プロジェクト設定) を選択し、Plugins (プラグイン) カテゴリで RenderDoc を選択します。
| プロパティ | 説明 |
|---|---|
| フレームキャプチャ設定 | |
すべてのアクティビティをキャプチャ | 有効にすると、RenderDoc は現在のビューポートだけではなく、フレーム全体に対する、すべてのビューポートおよびエディタ ウィンドウでのすべてのアクティビティをキャプチャします。 |
すべてのコールスタックをキャプチャ | 有効にすると、RenderDoc はすべての API 呼び出しのコールスタックをキャプチャします。 |
すべてのリソースを参照 | 有効にすると、RenderDoc はすべてのレンダリング リソースを (フレームで使用されていないリソースであっても) キャプチャに含めます。 このプロパティを有効にすると、キャプチャ サイズが大幅に増加します。 |
すべての初期ステートを保存 | 有効にすると、RenderDoc はすべてのレンダリング リソースの初期状態を、フレーム中に使用される可能性が低い場合でも常にキャプチャします。 このプロパティを有効にすると、キャプチャ サイズが大幅に増加します。 |
| 詳細設定 | |
スタートアップ時にヘルプを表示 | 有効にすると、エディタの起動時に RenderDoc のヘルプ ウィンドウが表示されます。 |
RenderDoc クラッシュハンドラを使用 | 有効にすると、クラッシュが発生した場合に RenderDoc クラッシュ ハンドラが使用されます。 これは、RenderDoc アプリケーションに問題があることがわかっており、RenderDoc のデベロッパーに知らせたい場合にのみ使用します。 |
RenderDoc 実行ファイルパス | 使用する RenderDoc 実行可能ファイルへのパスを設定します。 RenderDoc がインストールされた場合、正しいパスが指定されている場合は、これが自動的に入力されます。 |
追加の注記とリソース
フレーム キャプチャの RenderDoc の使用と分析については、RenderDoc のドキュメントを参照してください。
RenderDoc プラグインは、Fredrik Lindh (「Temaran」) によって Unreal Engine のために作成および開発されました。 詳細については、RenderDoc GitHub リポジトリ を参照してください。