Version: 2021.2
言語: 日本語
Visual Studio C# インテグレーション
デバイスシミュレーター

RenderDoc の統合

エディターは、詳細なフレームイントロスペクションとデバッグを行う RenderDoc グラフィックスデバッガのスタートやキャプチャーを統合するサポートをします。

統合は RenderDoc 0.26 版以降で可能です。現在、インストールされているものがそれより古い場合は、少なくとも 0.26 版に更新する必要があります。

注意 統合がエディターでのみ可能である一方、RenderDoc は、追加設定なしでスタンドアローンのプレイヤービルドで通常通り使用できます。

注意 フレームは、Unity が RenderDoc がサポートするプラットフォームで実行され RenderDoc をサポートしている API - 現段階では Windows のみで、さらに DirectX 11、または、OpenGL Core プロフィールのいずれかである場合にのみ、キャプチャーされます。他方の API が使用中の場合は、RenderDoc 統合は、サポートされた API が使用可能になるまで一時的に不能になります。

RenderDoc の読み込み

RenderDoc がインストールされている場合、エディターを読み込んだ後で、Game ViewScene Viewのタブを右クリックし、「Load RenderDoc」オプションをクリックします。これにより、グラフィックス装置をリロードするので、変更がある場合は保存しておきます。その後は、エディターを再起動したり、スタンドアローンプレイヤーを作成しなくても、RenderDoc でキャプチャーを行うことができます。

ランタイムに RenderDoc を読み込む
ランタイムに RenderDoc を読み込む

注意 通常通り、RenderDoc でエディターを立ち上げることもできます。また、renderdoc コマンドラインのオプション、-load-、を使って、RenderDoc をスタートアップから起動することができます。

RenderDoc を使ったフレームのキャプチャー

RenderDoc をエディターに読み込んだ際に互換性がある場合は、Game と Scene ビューのツールバーの右側に新しいボタンが表示されます。

RenderDoc を使用したフレームのキャプチャー
RenderDoc を使用したフレームのキャプチャー

このボタンを押すと、次のフレームのレンダリングのキャプチャーがトリガーされます。RenderDoc ツールの UI が開いていない場合は、新しいインスタンスが立ち上がり、キャプチャーが表示されます。すでに、開いている場合は、最新のキャプチャーがそこに自動的に現れます。そこからキャプチャーを開いて、ツールを使ってデバッグすることができます。

RenderDoc のフレームキャプチャーリスト
RenderDoc のフレームキャプチャーリスト

シェーダーデバッグ情報を含む方法

デフォルトで DirectX11 シェーダーのサイズを最適化するために、デバッグ情報は裸にされます。つまり、定数とリソースに名前がなく、シェーダーソースが利用できません。シェーダーに上記のデバッグ情報を含むには、#pragma enable_d3d11_debug_symbols をシェーダー CGPROGRAM ブロックに入れてください。

他のグラフィックスデバッグテクニック

D3D11 を使用してスタンドアローンプレイヤーを作成する場合、Visual Studio グラフィックスデバッガでフレームをキャプチャーしてデバッグすることができます。

Visual Studio C# インテグレーション
デバイスシミュレーター