Strumpy Shader Editor. Создаем простой diffuse шейдер
Продолжение статьи Strumpy Shader Editor - визуальный редактор шейдеров в Unity 3D
Чтобы начать новую графическую схему шейдера нажмите File->New Graf. Появится окошко, что окно преждей схемы шейдера будет закрыто. Жмем Confirm (Подтвердить).
В поле Name пишем вроде MyShader. Там же поставим модель шейдера 3-ю, Shader model -> Three. В окне предварительного просмотра появится надпись Shader Need Updating (Обновить окно предварительного просмотра). Жмем клавишу Update Preview и видим черный шар отсутствия материала.
В вкладке Inputs -> Add New Input -> Texture 2D Property и вводим название после префикса:
_Diffuse
На серый квадратик с надписью None(Texture 2D) перетаскиваем рисунок с нужной нам текстурой.
Правой кнопкой кликаем на рабочей области Редактора и выбираем Function -> Tex2D
Теперь нужно добавить Sampler2D. Правой кнопкой кликаем на рабочей области Редактора и выбираем Properties -> Sampler2D. Чтобы его конфигуировать идем в Nodes -> Input Propertie кликаем на Unconfigured и сниспадающего списка выбираем _Diffuse. Заметье, что Sampler2D имеет два outputs: сам sampler так же параметр UV. UV изменяет координаты текстуры, после того как пользователь настроит Scale X/Y и также Offset X/Y и не обязательна для других образцов.
Соединяем их между собой как показано на рисунке:
Обновляем окно предварительного просмотра, нажав на кнопку Update Preview.
Tex2D берет пиксели из присоединенного Sampler2D, фильтрует согласно параметрам настройки текстуры от назначенной текстуры, следующим образом:
- Точечная фильтрация - из текстуры для пикселя берётся ближайший цвет к координатам(поэтому она такая и резкая).
- Билинейная фильтрация - процесс извлечения нескольких пикселей исходной текстуры с последующим усреднением их значений для получения окончательного значения пикселя.
- Трилинейная фильтрация - работает только с двумя текстурами. Усовершенствованный вариант билинейной фильтрации. MIP-текстурирование, повышая чёткость изображения и процент попаданий в кэш на дальних расстояниях, имеет серьёзный недостаток: ясно видны границы раздела между MIP-уровнями. Трилинейная фильтрация позволяет исправить этот недостаток ценой некоторого снижения резкости текстур. Для этого цвет пикселя высчитывается как средневзвешенное восьми текселей: по четыре на двух соседних MIP-текстурах. В случае, если формулы MIP-текстурирования дают самую крупную или самую маленькую из MIP-текстур, трилинейная фильтрация вырождается в билинейную.С недостаточной резкостью борются, устанавливая отрицательный mip bias — то есть, текстуры берутся более детальные, чем нужно было бы без трилинейной фильтрации.
|