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

Помогите! Нужно добавить тени к шейдеру дорог.

СообщениеДобавлено: 28 фев 2010, 10:44
Neodrop
Камрады, для моей бесплатной системы генерации дорог, которая войдёт в следующий релиз Антареса, нужны шейдеры, которые я писать не умею.
Вот пример простого шейдера, который я использую сейчас (подправил как мог).

Alpha-Diffuse+_28_02_10.rar

Задача : научить его принимать тени.

В идеале, ещё такой же шейдер с бампом. То есть, чтобы и альфа и бамп и тени и (обязательно) Z сортировка, как в примере : "Queue"="Transparent -100"

Буду ну очень сильно признателен. :ymdaydream:

Изображение

Re: Помогите! Нужно добавить тени к шейдеру дорог.

СообщениеДобавлено: 28 фев 2010, 12:49
Battle Angel Alita
А непробывал вместо фоллбэка на "Transparent/VertexLit" делать фоллбэк на "Transparent/Cutout/VertexLit"?

Re: Помогите! Нужно добавить тени к шейдеру дорог.

СообщениеДобавлено: 28 фев 2010, 13:21
Neodrop
:-s Ты о чём это?

Я уже не раз говорил - я полный дуб в шейдерах. Полнее чем славянский шкаф. :-??

Re: Помогите! Нужно добавить тени к шейдеру дорог.

СообщениеДобавлено: 28 фев 2010, 13:46
Battle Angel Alita
В конце шейдера обычно пишут
FallBack "Diffuse", 1


Эта строчка говорит откатится на более простой шейдер если допустим железо не поддерживает сложный. Так-же эта строчка говорит в каком шейдере искать недостающие пассы. Вот как-раз этих специальных пассов и нехватает для работы теней:
// Pass to render object as a shadow caster
Pass {
Name "Caster"
Tags { "LightMode" = "ShadowCaster" }
...

// Pass to render object as a shadow collector
Pass {
Name "ShadowCollector"
Tags { "LightMode" = "ShadowCollector" }
...


Этих пассов нету в "Transparent/VertexLit" из-за возможности неправильного затенения, зато они есть в "Transparent/Cutout/VertexLit"

Re: Помогите! Нужно добавить тени к шейдеру дорог.

СообщениеДобавлено: 28 фев 2010, 13:49
Neodrop
Я не использую VertexLit шейдеры.
Я использую Transparent/Diffuse

Re: Помогите! Нужно добавить тени к шейдеру дорог.

СообщениеДобавлено: 28 фев 2010, 14:07
Battle Angel Alita
А это собственно неважно, освещение будет работать как и раньше. Всё что нас интересует, эти специальные хитрые теневые пассы.
Вообщем, в конце шейдера вместо Fallback "Transparent/VertexLit", 2 напиши Fallback "Transparent/Cutout/VertexLit", 1 (незнаю что эта двоечка и единичка значит, и нигде ненаписано)

Re: Помогите! Нужно добавить тени к шейдеру дорог.

СообщениеДобавлено: 28 фев 2010, 14:24
Neodrop
Не помогло. :-s

Изображение

Re: Помогите! Нужно добавить тени к шейдеру дорог.

СообщениеДобавлено: 28 фев 2010, 15:20
Battle Angel Alita
К сожалению у меня обычная индюшка, и теней нету, поэтому тестировать у себя неполучится.
попробуй заменить строчку
#pragma multi_compile_builtin_noshadows
на
#pragma multi_compile_builtin

Re: Помогите! Нужно добавить тени к шейдеру дорог.

СообщениеДобавлено: 28 фев 2010, 15:54
Neodrop
Дык а кто мешает кряку поюзать? :-?
Счас проверим...

Re: Помогите! Нужно добавить тени к шейдеру дорог.

СообщениеДобавлено: 28 фев 2010, 15:56
Neodrop
Не, воз и ныне там. ~x(

Re: Помогите! Нужно добавить тени к шейдеру дорог.

СообщениеДобавлено: 28 фев 2010, 16:40
Battle Angel Alita
Neodrop писал(а):Дык а кто мешает кряку поюзать? :-?

Ну разе что для благого дела а не халявы ради O:-)

Теперь тэг "Queue"="Transparent-100" недаёт рисовать тень, заменить его на "Queue"="Geometry+100" и тень появится.

Re: Помогите! Нужно добавить тени к шейдеру дорог.

СообщениеДобавлено: 28 фев 2010, 16:42
Neodrop
Тень, может и проявится, а не станет ли дорога мешать транспарентным объектам? :-? Счас поглядим...
А, чёрт. Не поглядеть. У меня толстенный коммит льётся на сервер... Придётся вечером.
Спасибо, отпишу как только проверю.

Re: Помогите! Нужно добавить тени к шейдеру дорог.

СообщениеДобавлено: 01 мар 2010, 06:38
Neodrop
Не подходит. На развилках дорог начинаются вот такие глюки (и теней всё равно нет) :

Изображение

Re: Помогите! Нужно добавить тени к шейдеру дорог.

СообщениеДобавлено: 01 мар 2010, 06:39
Neodrop
А вот то же самое, но с Transparent-100

Изображение

Re: Помогите! Нужно добавить тени к шейдеру дорог.

СообщениеДобавлено: 01 мар 2010, 10:18
Kann
Нео, а ты не мог бы состряпать маленькую сценку с этой развилкой ? что бы не на кубиках экспериментировать, а то на кубиках как раз тень то появляется :D почему ее нету у тебя хз....