Страница 1 из 2

Terrain Bump 4+ Textures (без скрипта)

СообщениеДобавлено: 11 май 2012, 12:01
Agasper
Шейдер для наложения карты нормалей на ландшафт без использования скрипта как в примере http://sixtimesnothing.wordpress.com/2010/10/10/bump-mapping-for-built-in-unity-terrain/ и без ограничения на кол-во текстур.

Суть этого шейдера сводится к тому что он для материала 0 рисует текстурой 0 и накладывает нормаль с текстуры 1, для материала 1 рисует текстурой 2 и накладывает нормаль с текстуры 3, и т.д.

Инструкция по использованию:

Распаковать шейдеры в папку с ассетами проекта, настроить ладшафт как показано ниже
Изображение

Текстуры должны следовать как диффузка/нормаль к ней/диффузка/нормаль к ней
Шейдер поддерживает спекулар карту, она берется из альфа канала диффузки
Если вы создаете ландшафт из скрипта, то не забудьте что номер материала теперь должен быть кратен 2

Синтаксис:
Используется csharp
float[] materials = new float[resolution, resolution, textures_count];
materials[x, y, material_number*2] = 1;
 


Минусы этого метода:
* Незначительно повышается Draw Calls из-за большего количества проходов шейдера
* Надо следить за тем чтобы не нарисовать на ландшафте неправильным материалом (нормалью)
* Использует более 8 регистров, что делает невозможным компиляцию под Flash

Download:
http://dl.dropbox.com/u/48301614/Shaders.zip

Насколько я знаю это единственный способ заставить стандартный ландшафт работать более чем с 4 картами нормалей.

Re: Terrain Bump 4+ Textures (без скрипта)

СообщениеДобавлено: 11 май 2012, 19:14
alt3d
Это хорошо. Вечером скачаю, потестю. Если все работать будет нормально - так вообще замечательная вещь получается.
А кто автор?

Re: Terrain Bump 4+ Textures (без скрипта)

СообщениеДобавлено: 12 май 2012, 11:18
Agasper
Автор идеи кто-то на офф. форуме.
Автор реализации - я
:)

Re: Terrain Bump 4+ Textures (без скрипта)

СообщениеДобавлено: 12 май 2012, 23:27
Agasper
Забыл добавить:
Шейдер поддерживает спекулар карту, она берется из альфа канала диффузки

Re: Terrain Bump 4+ Textures (без скрипта)

СообщениеДобавлено: 17 июн 2012, 15:26
Chaz
Парни! Я в шейдерах нуб! Объясните, пожалуйста, пошагово че тут делать! Распаковал в папку с ассетами, добавил в окошко для рисования текстуру которой рисовать буду, а где взять вот те серенькие текстуры которые идут за не серенькими? И че с теми двумя шейдерами делать? :((

Re: Terrain Bump 4+ Textures (без скрипта)

СообщениеДобавлено: 17 июн 2012, 15:36
Ingvarson
Серенькая - это карта нормалей)))) а класть их,ну я положил в отдельную папочку)))))

Re: Terrain Bump 4+ Textures (без скрипта)

СообщениеДобавлено: 17 июн 2012, 16:09
Chaz
Ingvarson писал(а):Серенькая - это карта нормалей)))) а класть их,ну я положил в отдельную папочку)))))

А карту нормалей отдельно делать для каждой текстуры которая будет использоватся, а потом вешать шейдер на карту нормалей или как, там 2 шейдера, какой из них? И что будет если я наложу карту нормалей первой текстуры, на вторую текстуру?

Re: Terrain Bump 4+ Textures (без скрипта)

СообщениеДобавлено: 17 июн 2012, 17:30
Ingvarson
Chaz писал(а):
Ingvarson писал(а):Серенькая - это карта нормалей)))) а класть их,ну я положил в отдельную папочку)))))

А карту нормалей отдельно делать для каждой текстуры которая будет использоватся, а потом вешать шейдер на карту нормалей или как, там 2 шейдера, какой из них? И что будет если я наложу карту нормалей первой текстуры, на вторую текстуру?


нормали делаешь отдельно для каждой текстуры))) оба шейдеры просто кладешь в свой проект,они не видимы для тебя будут)))) кривизна будет)))))) а так прочитай еще раз что разраб написал))))

Re: Terrain Bump 4+ Textures (без скрипта)

СообщениеДобавлено: 17 июн 2012, 18:21
Chaz
Ingvarson писал(а):
Chaz писал(а):
Ingvarson писал(а):Серенькая - это карта нормалей)))) а класть их,ну я положил в отдельную папочку)))))

А карту нормалей отдельно делать для каждой текстуры которая будет использоватся, а потом вешать шейдер на карту нормалей или как, там 2 шейдера, какой из них? И что будет если я наложу карту нормалей первой текстуры, на вторую текстуру?


нормали делаешь отдельно для каждой текстуры))) оба шейдеры просто кладешь в свой проект,они не видимы для тебя будут)))) кривизна будет)))))) а так прочитай еще раз что разраб написал))))

окей сяп я пойду делать нормали карт

Re: Terrain Bump 4+ Textures (без скрипта)

СообщениеДобавлено: 17 июн 2012, 18:56
Chaz
ну я в общем все сделал, толкко карта нормалей у меня получилась не серая. а синенькая, это так и нада? и еще 1, я в общем все сделал, намазюкал на диффуз карту ее, ну вроде стало рельефнее но 1 но, карта нормалей кажись затемнила диффуз, это ж плохо не?

Re: Terrain Bump 4+ Textures (без скрипта)

СообщениеДобавлено: 18 июн 2012, 06:54
Ingvarson
у меня тоже синенькая получается и тоже идет легкое затемнение,так что думаю что это нормально))))) попробовал шейдер на англ.сайте присобачить к этому,получилось неплохо,вот только там пишут что он притормаживает)))) в общем если интересно выложу,может кто поможет сделать правильно))))

Re: Terrain Bump 4+ Textures (без скрипта)

СообщениеДобавлено: 18 июн 2012, 21:09
Chaz
Мужики! А можно сделать чтобы диффюз и нормал мапа рисовались одновременно точно друг на друга?

Re: Terrain Bump 4+ Textures (без скрипта)

СообщениеДобавлено: 19 июн 2012, 06:34
Ingvarson
Chaz писал(а):Мужики! А можно сделать чтобы диффюз и нормал мапа рисовались одновременно точно друг на друга?


недоперепонял что ты имел в виду)))))))) таки они и рисуются друг на друге))))))

Re: Terrain Bump 4+ Textures (без скрипта)

СообщениеДобавлено: 19 июн 2012, 08:29
Chaz
Ingvarson писал(а):
Chaz писал(а):Мужики! А можно сделать чтобы диффюз и нормал мапа рисовались одновременно точно друг на друга?


недоперепонял что ты имел в виду)))))))) таки они и рисуются друг на друге))))))

та я понел, но сначала же рисуется вручную текстура, а потом на эту текстуру карта нормалей, это же все в ручную ж да? Так я если у меня руки трясутся и я картой нормалей мимо линию провел ВОТ!
А так нада шоб рисуешь текстурой и сразу на нее программно типа, накладывается карта нормалей точно по тем же координатам шо и текстура! и еще! шоб не затемнялось и работало норм, ты ж изменил настройки карты нормалей и поставил в выпадающем списке - Normal map вместо Texture ? xD

Re: Terrain Bump 4+ Textures (без скрипта)

СообщениеДобавлено: 19 июн 2012, 19:53
Ingvarson
нииииииии,ты рисуешь ТОЛЬКО диффузной текстурой,а карта нормалей отображает ее бамп,ее вообще не трогай и НЕ В КОЕМ СЛУЧАЕ ею не рисуй))))))))) насчет затемнения не смотрел,но подозреваю что это просто насыщенность виновата)))))) ага,вроде именно так выставлял,сейчас под рукой юни нет)))))