Этот шейдер - версия обычного шейдера Diffuse с дополнительными данными. Он позволяет назначить вторую "Detail" текстуру, которая будет постепенно проявляться, по мере того, как камера будет приближаться к ней. Он может быть использован например для создания местности. Вы можете использовать основную текстуру с низким разрешением и растянуть ее по всей местности. Когда камера к ней приближается текстура с низким разрешением получается смазанной, чего мы не хотим. Чтобы избежать этого эффекта, надо создать текстуру Detail, которая будут тайлится над местностью. Таким образом, когда камера будет приближаться, дополнительные детали будут появляться, исключая эффект размытия.
Текстура Detail ставится "поверх" основной текстуры. Более темные цвета в текстуре Detail будут затемнять основную текстуру, а светлые оттенки будут делать ее светлее. Текстура Detail, как правило, в оттенках серого цвета.
Производительность
Это шейдер pixel-lit и, приблизительно, эквивалентен шейдеру Diffuse, но немного сложнее за счет дополнительной текстуры.
Как сделать Diffuse Detail
Текстура Detail - это небольшой мелкий рисунок, который проявляется когда Вы приближаетесь к поверхности, например текстура древесины, изъяны камня или детализация поверхности земли. Она используется в шейдере Diffuse Detail.
Текстура Detail должна тайлиться во всех направлениях. Значения цвета от 0 до 127 делают объект, к которому он применяется темнее, значение 128 ничего не меняет, а светлые цвета делают объект светлее. Это очень важно, чтоб изображение центрировалось вокруг 128 - в противном случае объект к которому вы ее применяете получится светлее или темнее, по мере того как вы приближаетесь.
1. Нарисовать или найти изображение в оттенках серого для текстура Detail.
2. Сохранить изображение рядом с вашей основной текстурой.
3. В Unity, выберите изображение и под "Generate Mip Maps", включить FadeOut и установить ползунки в настройках импорта в окне Inspector.
4. Верхний ползунок определяет, на каком расстоянии текстура начинает исчезать, а нижний определяет, как далеко нужно находится чтобы текстура Detail полностью исчезла.
В Material Inspector справа выберите Diffuse Detail из ниспадающего списка Shader:
Перетащите текстуру из Project View в слот текстуры Detail.
Установите высокие значения Tiling:
|