シェーダーバリアントコレクションは、シェーダーバリアント のリストです。シェーダーバリアントコレクションは、シェーダーバリアントの事前準備 に使用します。また、シーンでは参照されない、ランタイムに必要なシェーダーバリアントがビルドから除外 (“ストリッピング”) されるのを防ぐために使います。
シェーダーバリアントコレクションのアセットは、以下の方法で作成できます。
プロジェクトでシェーダーバリアントコレクションアセットを選択すると、Inspector でそれを表示、編集することができます。
コントロールを使用して、パスタイプ と シェーダーキーワード の組み合わせのリストを作成し、事前にロードします。
また、ShaderVariantCollection API を使ってシェーダーバリアントコレクションアセットを設定することもできます。
パフォーマンスの負荷が高い時に目に見えるストールが発生するのを避けるために、Unity はグラフィックスドライバーに対して、シェーダーバリアントが最初に必要になる前に GPU 内に作成するよう指示します。これは 事前準備 と呼ばれます。シェーダーバリアントコレクション内のシェーダーバリアントの事前準備については、シェーダーのロード: シェーダーバリアントの事前準備 を参照してください。