Version: 2022.3
言語: 日本語
シェーダーバリアントのストリッピング
Unity がシェーダーをロードして使用する方法

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

シェーダーバリアントコレクションは、シェーダーバリアント のリストです。シェーダーバリアントコレクションは、シェーダーバリアント を事前準備に使用します。または、ランタイムには必要だがシーンでは参照されないシェーダーバリアントがビルドから除外 (“ストリッピング”) されされるのを防ぐために使います。

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

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

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

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

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

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

コントロールを使用して、パスタイプシェーダーキーワード の組み合わせのリストを作成し、事前にロードします。

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

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

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

シェーダーバリアントのストリッピング
Unity がシェーダーをロードして使用する方法