OptimizedShaderGenerator クラス

May 12, 2025 · View on GitHub

UberUnlit/Litシェーダーからシェーダーキーワード、パスを必要最小限にした、最適化されたシェーダーを生成するクラスです。

生成されるシェーダーは以下の組み合わせで作成されます。

  • レンダリングタイプ (Opaque、Transparent、Cutout)
  • オプショナルパス (DepthOnly、DepthNormals、ShadowCaster)

生成されたシェーダーはOptimizedShaderReplacerクラスを利用することでUberUnlit/UberLitを利用しているマテリアルのシェーダーを作成した最適化シェーダーに差し替えることができます。

具体的な使用方法については、Assets/Samples/Editor/ShaderOptimizeSample.csのサンプルコードをご参照ください。 このサンプルでは、OptimizedShaderGeneratorとOptimizedShaderReplacerを組み合わせた実装例を確認できます。

APIs

Generate

概要

UberLitとUberUnlitシェーダーを最適化し、指定された出力フォルダに保存します。

引数

パラメータ説明
outputFolderPath最適化されたシェーダーを出力するフォルダのパス

サンプルコード

// 最適化されたシェーダーを指定したフォルダに出力する
OptimizedShaderGenerator.Generate("Assets/OptimizedShaders");