Возьмите длинный Hidden/Post FX/Uber Shader в плагине постобработки
2D проект (Unity 2018.3.0)
- Я загружаю плагин Unity Post Procesing
Добавьте в камеру скрипт https://imgur.com/a/EduR7zw
Настройте только цветовую градацию https://imgur.com/a/1tPOc4r
Попробуйте построить, и это займет много времени, чтобы появиться в строке заряда шейдеров. https://imgur.com/a/IhHBhTH
Любое решение здесь?
2 ответа
- Зайдите в Активы-> Постпроцессинг-> Ресурсы-> Шейдеры
- Найдите "Uber" и откройте код.
В первых строках скрипта вы увидите это:
#pragma multi_compile __ UNITY_COLORSPACE_GAMMA #pragma multi_compile __ CHROMATIC_ABERRATION #pragma multi_compile __ DEPTH_OF_FIELD DEPTH_OF_FIELD_COC_VIEW #pragma multi_compile __ BLOOM BLOOM_LENS_DIRT #pragma multi_compile __ COLOR_GRADING COLOR_GRADING_LOG_VIEW #pragma multi_compile __ USER_LUT #pragma multi_compile __ GRAIN #pragma multi_compile __ VIGNETTE_CLASSIC VIGNETTE_MASKED #pragma multi_compile __ DITHERING
Измените "#pragma" на "#define" и оставайтесь в прагме только в том случае, если вы собираетесь использовать этот процесс
В моем случае я использую только ColorGrading
#define multi_compile __ UNITY_COLORSPACE_GAMMA
#define multi_compile __ CHROMATIC_ABERRATION
#define multi_compile __ DEPTH_OF_FIELD DEPTH_OF_FIELD_COC_VIEW
#define multi_compile __ BLOOM BLOOM_LENS_DIRT
#pragma multi_compile __ COLOR_GRADING COLOR_GRADING_LOG_VIEW
#define multi_compile __ USER_LUT
#define multi_compile __ GRAIN
#define multi_compile __ VIGNETTE_CLASSIC VIGNETTE_MASKED
#define multi_compile __ DITHERING
Компиляция занимает много времени, потому что в шейдере Uber есть метрический хребет multi_compiles. Количество вариантов шейдера составляет 2^(количество multi_compiles).
Вы можете уменьшить количество вариантов, отредактировав ubershader вручную и удалив несколько строк multi_compile, которые ссылаются на функции, которые вы не используете.
Вот пример некоторых строк, которые вы можете закомментировать.