Возьмите длинный Hidden / Post FX / Uber Shader в плагине постобработки - PullRequest
0 голосов
/ 07 февраля 2019

2D проект (Unity 2018.3.0)

  1. Скачиваю плагин Unity Post Proceing
  2. Добавить в камеру скрипт https://imgur.com/a/EduR7zw

  3. Конфигурирование только цветовой градации https://imgur.com/a/1tPOc4r

  4. Попробуйте построить, и это займет много времени, чтобы появиться в строке заряда шейдеров.https://imgur.com/a/IhHBhTH

Есть здесь решение?

Ответы [ 2 ]

0 голосов
/ 20 февраля 2019
  1. Зайдите в Assets-> PostProcessing-> Resources-> Shaders
  2. Найдите «Uber» и откройте код.
  3. В первых строках скрипта выполнитевы увидите это:

    #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
    
  4. Измените "#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
0 голосов
/ 07 февраля 2019

Компиляция занимает много времени, потому что в шейдере Uber есть метрический fuckton multi_compiles.Количество вариантов шейдера составляет 2 ^ (количество multi_compiles).

Вы можете уменьшить количество вариантов, отредактировав ubershader вручную и удалив несколько строк multi_compile, которые относятся к функциям, которые вы не используете.

Здесь - пример некоторых строк, которые вы можете закомментировать.

...