Version: Unity 6.0 (6000.0)
言語 : 日本語
URP のレンダーグラフシステムのフレームデータ
URP で前のフレームのデータを取得する

URP の現在のフレームからデータを取得する

ユニバーサルレンダーパイプライン (URP) が現在のフレーム用に作成したテクスチャ (例えば、アクティブカラーバッファや G バッファテクスチャ) を取得して、レンダーパスで使用できます。

これらのテクスチャは、フレームデータ、リソースデータ、またはフレームリソースと呼ばれます。このドキュメントでは、これらのテクスチャをフレームデータと呼びます。

カスタムレンダーパスを URP フレームレンダリングループに挿入するために、どの投入ポイントを使用するかによって、フレームデータに存在しないテクスチャもあります。どのような場合に、どのテクスチャが存在するかについては、投入ポイントのリファレンス を参照してください。

フレームデータを取得する

フレームデータは、RecordRenderGraph メソッドをオーバーライドするときに URP から提供される ContextContainer オブジェクトにあります。

フレームデータのテクスチャのハンドルを取得するには、以下の手順に従います。

  1. ContextContainer オブジェクトの Get メソッドを使用して、すべてのフレームデータを UniversalResourceData オブジェクトとして取得します。

    例:

    public override void RecordRenderGraph(RenderGraph renderGraph, ContextContainer frameContext)
    {
        using (var builder = renderGraph.AddRasterRenderPass<PassData>("Get frame data", out var passData))
        {
            UniversalResourceData frameData = frameContext.Get<UniversalResourceData>();
        }
    }
    
  2. フレームデータのテクスチャのハンドルを取得します。

    例えば、アクティブカラーテクスチャのハンドルを以下のように取得します。

    TextureHandle activeColorTexture = frameData.activeColorTexture;
    

その後、テクスチャの読み込みと書き込みが可能になります。レンダーパスでテクスチャを使用する を参照してください。

テクスチャハンドルは、現在のフレームで現在のレンダーグラフに対してのみ有効です。

ConfigureInput API を使用して、URP がフレームデータに必要なテクスチャを生成することができます。

完全な例については、TextureReference w.FrameData という例を ユニバーサルレンダーパイプライン (URP) のパッケージサンプル で参照してください。

追加リソース

URP のレンダーグラフシステムのフレームデータ
URP で前のフレームのデータを取得する
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961