教育事業部の事業内容 演劇、音楽のタレント並びに作詞家、作曲家、編曲家等アーティストの育成及びマネージメント、コンピュータ教室の経営等を行っています。
教育事業 パルテア

〜Unity Graphics レンダー パイプラインの取得、設定、構成〜 #ゲームプログラミング #ゲーム制作 #ゲーム開発#3dengine #unity3d

アクティブなレンダー パイプラインを取得、設定、構成する方法

このページには、Unity が現在使用しているレンダー パイプラインを取得、設定、構成する方法に関する情報が含まれています。 Unity が現在使用しているレンダー パイプラインは、アクティブ レンダー パイプラインと呼ばれます。



概要

コンテンツをレンダリングするために、Unity は組み込みのレンダー パイプライン、またはユニバーサル レンダー パイプライン (URP) と高解像度レンダー パイプライン (HDRP) を含むスクリプタブル レンダー パイプライン (SRP) に基づくレンダー パイプラインのいずれかを使用できます。

Unity が使用する Scriptable Render Pipeline を指定するには、Render Pipeline Assets を使用します。 レンダー パイプライン アセットは、どの SRP を使用するか、およびその設定方法を Unity に伝えます。 レンダー パイプライン アセットを指定しない場合、Unity は組み込みのレンダー パイプラインを使用します。

同じレンダー パイプラインを使用するが、構成が異なる複数のレンダー パイプライン アセットを作成できます。 たとえば、さまざまなハードウェア品質レベルに応じてさまざまなレンダー パイプライン アセットを使用できます。 レンダー パイプライン アセットの概要については、「スクリプト可能なレンダー パイプラインの概要」を参照してください。 URP のレンダー パイプライン アセットの詳細については、「ユニバーサル レンダー パイプライン アセット」を参照してください。HDRP のレンダー パイプライン アセットについては、「高解像度レンダー パイプライン アセット」を参照してください。

Unity エディターまたは実行時にアクティブなレンダー パイプラインを変更するとすぐに、Unity は新しいアクティブなレンダー パイプラインを使用してコンテンツをレンダリングします。 Unity エディターを使用している場合、これには、ゲーム ビュー、シーン ビュー、およびプロジェクト パネルとインスペクターのマテリアルのプレビューが含まれます。

アクティブなレンダー パイプラインを変更する場合は、プロジェクト内のアセットとコードが新しいレンダー パイプラインと互換性があることを確認する必要があります。 そうしないと、エラーや意図しない視覚効果が発生する可能性があります。

アクティブなレンダー パイプラインの決定

グラフィック設定と品質設定の両方の設定によって、アクティブなレンダー パイプラインが決まります。 [グラフィック設定] では、Unity がデフォルトで使用するレンダー パイプラインを構成します。 品質設定では、特定の品質レベルのデフォルトのレンダー パイプラインをオーバーライドできます。

デフォルトのレンダー パイプラインを取得または設定するには、[グラフィック設定] / [スクリプト可能なレンダー パイプライン設定] (または同等の API、GraphicsSettings.defaultRenderPipeline) を使用します。 特定の品質レベルのデフォルトをオーバーライドするレンダー パイプラインを取得または設定するには、[品質設定] / [レンダー パイプライン] (または同等の API、QualitySettings.renderPipeline) を選択します。

Unity はアクティブなレンダー パイプラインを次のように決定します。

現在の品質設定レベル / レンダー パイプラインがレンダー パイプライン アセットを参照している場合、Unity はその値を使用します。
さもないと:
[グラフィック設定] / [スクリプト可能なレンダー パイプライン設定] がレンダー パイプライン アセットを参照している場合、Unity はその値を使用します。
それ以外の場合、Unity は組み込みのレンダー パイプラインを使用します。

エディター UI でアクティブなレンダー パイプラインを取得および設定する方法

アクティブなレンダー パイプラインの取得

エディター UI でアクティブなレンダー パイプラインを取得するには

の場合は、[グラフィック設定] ウィンドウと [品質設定] ウィンドウの両方を確認する必要があります。 これらの値を使用してアクティブなレンダー パイプラインを決定する方法については、「アクティブなレンダー パイプラインの決定」を参照してください。

組み込みのレンダー パイプラインのアクティブ化

アクティブなレンダー パイプラインを組み込みレンダー パイプラインに設定するには、グラフィック設定と品質設定からレンダー パイプライン アセットを削除します。

これをする:

[編集] / [プロジェクト設定] / [品質] を選択します。
品質レベルごとに、レンダー パイプライン アセットが [レンダー パイプライン] フィールドに割り当てられている場合は、割り当てを解除します。
[編集] / [プロジェクト設定] / [グラフィックス] を選択します。
レンダー パイプライン アセットが [スクリプト可能レンダー パイプライン設定] フィールドに割り当てられている場合は、割り当てを解除します。

SRP に基づく URP、HDRP、またはカスタム レンダー パイプラインのアクティブ化
アクティブなレンダー パイプラインを SRP に基づくものに設定するには、デフォルトのアクティブなレンダー パイプラインとして使用するレンダー パイプライン アセットと、必要に応じて品質レベルごとにどのレンダー パイプライン アセットを使用するかを Unity に指示します。

これをする:

プロジェクト フォルダーで、使用するレンダー パイプライン アセットを見つけます。
デフォルトのレンダー パイプラインを設定します。これは、特定の品質レベルのオーバーライドがない場合に Unity が使用します。 これを設定しない場合、Unity はオーバーライドが適用されないときに組み込みのレンダー パイプラインを使用します。
[編集] / [プロジェクト設定] / [グラフィックス] を選択します。
レンダー パイプライン アセットを [スクリプト可能レンダー パイプライン設定] フィールドにドラッグします。
オプション: さまざまな品質レベルのレンダー パイプライン アセットをオーバーライドするように設定します。
[編集] / [プロジェクト設定] / [品質] を選択します。
レンダー パイプライン アセットを [レンダー パイプライン] フィールドにドラッグします。




C# スクリプトでアクティブなレンダー パイプラインを取得および設定する方法

C# スクリプトの場合
を使用すると、アクティブなレンダー パイプラインを取得および設定し、アクティブなレンダー パイプラインが変更されたときにコールバックを受け取ることができます。 これは、Unity エディターの編集モードまたは再生モードで行うか、アプリケーションの実行時に行うことができます。

これを行うには、次の API を使用します。

アクティブなレンダー パイプラインを取得するには、いくつかの方法があります。
アクティブなレンダー パイプラインを定義するレンダー パイプライン アセットへの参照を取得するには、GraphicsSettings.currentRenderPipeline を使用します。
アクティブなレンダー パイプラインを定義するレンダー パイプライン アセットへの参照を取得し、Unity がデフォルト値を使用しているかオーバーライド値を使用しているかを判断するには、GraphicsSettings.defaultRenderPipeline と QualitySettings.renderPipeline の値を取得します。 これらの値の使用方法については、「アクティブなレンダー パイプラインの決定」または次のコード サンプルを参照してください。
アクティブなレンダー パイプラインの RenderPipeline インスタンスを取得するには、RenderPipelineManager.currentPipeline を使用します。 注: Unity は、アクティブなレンダリング パイプラインで少なくとも 1 つのフレームをレンダリングした後にのみ、このプロパティを更新します。
アクティブなレンダー パイプラインを設定するには、GraphicsSettings.defaultRenderPipeline と QualitySettings.renderPipeline の値を設定します。 これらの値の使用方法については、「アクティブなレンダー パイプラインの決定」または次のコード サンプルを参照してください。
アクティブなレンダー パイプラインのタイプが変更されたときにコードを検出して実行するには、RenderPipelineManager.activeRenderPipelineTypeChanged を使用します。
次のコード例は、これらの API の使用方法を示しています。

    unity

  • 日時:// ~ //
  • 名称:
  • 場所:
  • 料金:¥0 (消費税込)