Pull to refresh

Comments 14

Пост плохо читается из-за большого количества ошибок и игнорирования правил русского языка и из-за «легкомысленного» стиля изложения.
float factor = m.rgb.x + m.rgb.y + m.rgb.z;

Если текстура m (маски) — ч/б, то зачем делать сумму каналов? И так по всему коду
Потому-что растворение можно делать не только по маске, не знаю кому это понадобиться, но выглядит иногда прикольно. Да и маска не обязательно же чёрно белая, вдруг кому радугу захочется использовать?
А на кого рассчитана статья?

Мне как человеку, который интересуется Unity, но нихрена не понимает в шейдерах тут вообще ничего не понятно. Ну т.е. я почитал официальный мануал по шейдерам у них на сайте, но есть такие моменты, про которые хотелось бы узнать подробней. Например что такое #include «UnityCG.cginc» и нафиг оно нужно? Зачем IgnoreProjector?
Рассчитана на людей которые более-менее ориентируются в шейдерах и могут повтыкать в справку, но всё ещё с трудом пишут что-то своё.

Инклуд должен был навести вас на мысль. В данном случае UnityCG.cginc нужен для получения глобальной переменой с синусоидальным временем (_SinTime). IgnoreProjector нужен для игнорирования проектора, так-как местами могут появляться артефакты. Но в справку написано что игнорировать проектор нужно на полупрозрачных объектах, в нашем случае он полностью прозрачен и проблем возникнуть не должно, но я обычно всегда добавляю этот тег когда работаю с альфой.
А еще бы в статье краткий референс как эти «шейдеры-шмейдеры» к GameObject или мешам прикручиваюццо ;)

PS: я понимаю, что такое шейдеры… зачем они, но вот как раз сегодня искал простенький мануал про то, как это все прикручивается к объектам в сцене. Искал по дороге, с мобилы и не нашел пока. Был бы признателен за мануал на хабре.
Создаём новый материал и перетаскиваем шейдер на него :) Материал думаю знаете куда потом вешать?

PS: Шейдер создаётся там же где и скрипты и т.п
Не успел отредактировать:

Первая строчка шейдера

Shader «HolyMonkey/Dissolve/Culling-Mobile» {

Как бы его путь в окошке выбора. На материале в самом верху можно выбирать шейдер, без Drag&Drop можно его так найти.
Спасибо Вам. Пойду пробовать.

Оффтопик: не подскажете чем дешевле с точки зрения ресурсов рисовать плоские полигоны (100500 полигональных плиток, см. рис. ниже) на GameObject: шейдером полигонов или плоскими процедурно сгенеренными мешами?
image
Я вот не много не понял про шейдер полигонов. Имеется ввиду один здоровый полигон и сгенерированая на нём текстура? И с точки зрения рисования, я бы сгенерировал цельный меш который бы повторял форму того что на рисунке. В целом при хорошем батчинге и грамотно управлении материалами отрендерить 100500 полигонов не проблема.
Я про этот шейдер. Не довелось еще его попробовать. Может он вообще не отом, что мне нужно.
Этот шейдер просто делает заливку одним цветом. В вашем случае я бы порекомендовал генерировать цельный и оптимизированный меш. Это поможет снизить количество DrawCall.
А недорого потом будет удалять отдельные кусочки? В принципе закэшировать вертексы и соответствующие треугольники не рокет-сцайенс, но как движок будет реагировать на удаление части вертексов каждые, скажем 1-2 секунды.
Да нормально, допустим в TerraVol всё вполне приемлимо работает.
Спасибо, попробую. Еще хотел в фоне ландшафт из таких вот процедурных столбцов попробовать реализовать (типа двумерного эквалайзера, как в визуализациях вин-ампа), но чую это мне будет дорого стоить
Sign up to leave a comment.

Articles