Version: 2021.1
言語: 日本語
シェーダーのロード
ランタイムのシェーダーの置き換え

シェーダーバリアントコレクション

A shader variant collection is effectively a list of shader variants. Use shader variant collections to prewarm shader variants, or to ensure that shader variants that are required at runtime but not referenced in a scene are not stripped from your build.

シェーダーバリアントコレクションのアセットの作成

シェーダーバリアントコレクションのアセットは、以下の方法で作成できます。

  • Create Asset メニューで、Shader > Shader Variant Collection を作成します。
  • Unity エディターは、アプリケーションのランタイムにどのシェーダーバリアントを使用しているかを追跡し、それらを含むシェーダーバリアントコレクションアセットを自動的に作成できます。詳しくは、グラフィックス設定: シェーダーのロード を参照してください。

シェーダーバリアントコレクションの表示と編集

シェーダーバリアントコレクションの Inspector
シェーダーバリアントコレクションの Inspector

プロジェクトでシェーダーバリアントコレクションアセットを選択すると、Inspector でそれを表示、編集することができます。

Use the controls to build a list of Pass types and shader keyword combinations to load in advance.

また、ShaderVariantCollection API を使ってシェーダーバリアントコレクションアセットを設定することもできます。

シェーダーバリアントコレクションの事前準備

パフォーマンスの負担が大きいときの明らかなストールを避けるために、Unity はグラ フィックスドライバーに対して、シェーダーバリアントが最初に必要とされる前にその GPU 表示を作成するように要求することができます。これは 事前準備 と呼ばれます。シェーダーバリアントコレクション内のシェーダーバリアントの事前準備については、Shader loading: シェーダーバリアントの事前準備 を参照してください。

シェーダーのロード
ランタイムのシェーダーの置き換え