Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
В какой-то момент, Unity напрочь отказывалась объединять одинаковые объекты при рендере, отрисовывая их по одному.
Далее идут различные текстурные карты, которые я могу тут же в шейдере домножить на какой-либо цвет или значение.
Расскажу об одном из самых из самых гениальных и простых решений которые мы использовали в нашем проекте.
Туман войны реализован через point-light, находящийся в персонаже и рендерящийся отдельной камерой при максимально простом шейдере, который учитывает только освещение. Результатом является буфер видимости персонажа использующийся для пост-процесса тумана войны и в качествемаски в других шейдерах. Например, в зоне видимости охранников.
Потому что так работают все лайтпробы
Оно по определению не может быть быстрым — до сих пор карты-середнячки начинают умирать после 4 фетчей из разных семплеров, те суммарно должно быть максимум 4 разных текстуры, но не 7. Как вариант — упаковывать грейскейлы (если данные позволяют) в RGB каналы одной текстуры и потом пробовать сжимать.
В процессе компиляции все это многообразие умещается в 4 текстуры.
Правильная реализация — рендерить видимость в 2 прохода
вся геометрия уровня статична и не работает с лайтпробами в принципе.
Выглядело хуже, и постоянное дрожание. По производительности все было так же.
Unity с позиции художника при разработке кроссплатформенной игры