Yukio писал(а):есть наработки на эту тему, сам столкнулся с такой проблемой - сделал модель и текстуры (диффуз, спекулар, нормал-бамп), а шейдера подходящего не было. Взялся за изучение Strumpy Shader Editor и к имеющемуся шейдеру рима прикрутил все нужные слоты текстур с регулировкой параметров (цвет, интенсивность):
если устраивает такой результат, милости просим в гайд по шейдеру - там все есть http://gamecreatingcommunity.ru/forum/129-3933-1
если гайд не нужен, то вот, пожалуйста http://nxt.ru/sto/download_gate.phtml?d ... &f=/Rim.7z
PetkaGtA писал(а):неужели никто не умеет писать шейдеры без этих баговых редакторов вроде Strumpy Shader Editor?
вообще прикручивание паралакса не особо сложно. вот интересно поддерживает ли юнити диспласэмент?
gnoblin писал(а):раскрою два шейдерных "секрета":
- в стандартном шейдере bumped specular маска спекуляра лежит в альфа канале дифузной текстуры
Yukio писал(а):gnoblin писал(а):раскрою два шейдерных "секрета":
- в стандартном шейдере bumped specular маска спекуляра лежит в альфа канале дифузной текстуры
все зависит от конкретного случая. Если нужен именно выборочный спекулар, то маска с альфой не подойдет. Далее - способ с альфой проигрывает в потреблении памяти на треть текстурной памяти, т.к. когда мы отходим от объекта на определенное расстояние, постепенно неразличимые карты текстур начинают выгружаться из процесса рендеринга.
Yukio писал(а):gnoblin писал(а):раскрою два шейдерных "секрета":
- в стандартном шейдере bumped specular маска спекуляра лежит в альфа канале дифузной текстуры
все зависит от конкретного случая. Если нужен именно выборочный спекулар, то маска с альфой не подойдет. Далее - способ с альфой проигрывает в потреблении памяти на треть текстурной памяти, т.к. когда мы отходим от объекта на определенное расстояние, постепенно неразличимые карты текстур начинают выгружаться из процесса рендеринга.
gnoblin писал(а):1. не понял... что такое "выборочный спекуляр"?
2. отходим - и что? Понятно что маску для спекуляра надо откуда-то брать .
Yukio писал(а):Представьте себе металл заляпанный глиной - глина не блестит, а метал блестит. Маска спекулара посчитает, что эти 2 поверхности должны блестеть. А в отдельной текстуре для спекулара мы сами указываем чему блестеть, а чему нет.
Yukio писал(а):Далее - насчет расстояния. Чтобы хранить маску спекулара нужно к текстуре диффуза добавлять альфа-канал - а это увеличение объема текстурной памяти в 2 раза, т.е. если текстура 1024х1024 занимала 0,7 мб, то с маской она будет занимать уже 1,3 мб. Добавляем нормал-мапу и материал занимает уже 2,6 мб. Когда отходим на определенное расстояние шейдер оптимизирует материал и выгружает текстуры нормал-мапы из рендеринга, потому, что вдалеке нет смысла держать текстуру, работу которой мы не видим. В итоге с далека мы видим только диффуз, а материал занимает 1,3 мб.
Yukio писал(а):В шейдере материала с отдельной картой спекулара мы имеем 3 текстуры: 2 (диффуз и спекулар)- по 0,7 мб и нормал-мапа - 1,3 мб. В сумме тоже 2,6 мб - как и обычный бамп-спекулар. Но когда мы отходим на расстояние из рендеринга выгружается не только нормал-мапа, но и наша карта спекулара. В итоге материал потребляет только 0,7 мб. Т.е. наш шейдер будет потреблять только четверть текстурной памяти вместо половины.
Маска спекулара посчитает, что эти 2 поверхности должны блестеть. А в отдельной текстуре для спекулара мы сами указываем чему блестеть, а чему нет.
нет, при удалении объекта никакой материал не оптимизируется и никакие текстуры не выгружаются - работает только мипмапинг
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1