Шейдер отражений
Была задача написать шейдер отражений, который мешает диффуз + лайтмапу + отражения по карте глянца-матовости. Вот что получилось
Вкратце: сцена с "окружением", камера 360 генерит кубмапу, которая применяется в качестве отражений. На объекте дифуз + карта света + спекуляр по вертекс-колору (в сколах) + карта глянца ( в зависимости от неё отражения блюрятся). Ну и немношко ползунков для регулировки пятна спекуляра, силы лайтмапы, максимальная степень размытия.
Дальше будет многабукф из кода. А то мало ли фотошоп...
по-быстрому: берем нормали, берем вектор взгляда, берем вектор света, всё это фигачим с формулами, получаем пятно спекуляра. Если оставить так, то будут рубленные края (по рёбрам), поэтому лерпаем. Минус там стоит, потому что направление в другую сторону. В фрагментном берем кубмапу и через лод (мипмапы) применяем соответсвующий номерной лод к пикселю, а смешение регулируем по карте. Ну и финальный колор - это лерп между цветом и отражением, которое по карте смешивается, помноженное на карту теней, плюс цвет спекуляра (плюс для выжигания в белый).
Ну и зачем это всё:
Надеюсь на помощь лиги. Решил устроить самочеленж. Все желающие могут писать в комментах какое-то задание, связанное с игростроем, а я постараюсь его выполнить. Себе для скиллапа, публике на потеху. (Кроме, пожалуй, музыки... музыку я не умею)


Лига Разработчиков Видеоигр
9.9K постов23.4K подписчиков
Правила сообщества
ОБЩИЕ ПРАВИЛА:
- Уважайте чужой труд и используйте конструктивную критику
- Не занимайтесь саморекламой, пишите качественные и интересные посты
- Никакой политики
СТОИТ ПУБЛИКОВАТЬ:
- Посты о Вашей игре с историей её разработки и описанием полученного опыта
- Обучающие материалы, туториалы
- Интервью с опытными разработчиками
- Анонсы бесплатных мероприятий для разработчиков и истории их посещения;
- Ваши работы, если Вы художник/композитор и хотите поделиться ими на безвозмездной основе
НЕ СТОИТ ПУБЛИКОВАТЬ:
- Посты, содержащие только вопрос или просьбу помочь
- Посты, содержащие только идею игры
- Посты, единственная цель которых - набор команды для разработки игры
- Посты, не относящиеся к тематике сообщества
Подобные посты по решению администрации могут быть перемещены из сообщества в общую ленту.
ЗАПРЕЩЕНО:
- Публиковать бессодержательные посты с рекламой Вашего проекта (см. следующий пункт), а также все прочие посты, содержащие рекламу/рекламные интеграции
- Выдавать чужой труд за свой
Подобные посты будут перемещены из сообщества в общую ленту, а их авторы по решению администрации могут быть внесены в игнор-лист сообщества.
О РАЗМЕЩЕНИИ ССЫЛОК:
Ссылка на сторонний ресурс, связанный с игрой, допускается только при следующих условиях:
- Пост должен быть содержательным и интересным для пользователей, нести пользу для сообщества
- Ссылка должна размещаться непосредственно в начале или конце поста и только один раз
- Cсылка размещается в формате: "Страница игры в Steam: URL"