URPのColorGradingLUTパスを削除するためにUnity Packageを改造
Unity2022.3.16f1とURP14.0.9を使うと、使っていないはずのColorGradingLUTが1パス消費しているので、これを削除します。
ありがたい参考資料
https://zenn.dev/heppoko/articles/b6c3c33f715cfe
手順は以下の通り。
- URPを改造可能にする
- ColorGradingLUTパスを無効化する
URPを改造可能にする
Library/PackageCacheにあるcom.unity.render-pipelines.universal@14.0.9をPackages以下に移動します。 移動するとPackage ManagerでUniversal RPにCustomのマークが付きます。
Library/PackageCache/com.unity.render-pipelines.universal@14.0.9
↓
Packages/com.unity.render-pipelines.universal@14.0.9
以下の操作でFinderでお目当てのフォルダを開くことができます。
Projectビュー > Packages > Universal RP > 右クリック > Reveal in Finder
ColorGradingLUTパスを無効化する
以下のファイルに変更を入れます。 Unity2022.3.16f1とURP14.0.9では、この3つの変更を入れないとエラーが出ます。
- Universal RP/Runtime/UniversalRenderer.cs
- Universal RP/Shaders/PostProcessing/UberPost.Shader
- Universal RP/Runtime/Passes/PostProcessPass.cs
Universal RP/Runtime/UniversalRenderer.cs の変更点
UniversalRenderer.csのUniversalRenderer.Setupの638行目のgenerateColorGradingにfalseを入れます。 ヒントとしては、以下のコメント付近にあります。
// TODO: We could cache and generate the LUT before rendering the stack
Universal RP/Shaders/PostProcessing/UberPost.Shader の変更点
UberPost.Shaderの240行目colorにApplyColorGradingの戻り値を代入しているところをコメントアウトします。 ヒントとしては、以下のコメント付近にあります。
// Color grading is always enabled when post-processing/uber is active
Universal RP/Runtime/Passes/PostProcessPass.cs の変更点
PostProcessPass.SetupColorGrading に変更を入れます。
1287行目あたりにあります。SetupColorGradingの中身を全てコメントアウトします。
まとめ
以上で、ColorGradingLUTを消すことができました。
Frame DebuggerでColorGradingLUTのパスが消えていること確認してください。
Frame Debuggerの開き方は以下の通り。
Window > Analysis > Frame Debugger