Тени для спрайтов

Общие вопросы о Unity3D

Тени для спрайтов

Сообщение Eric_Cartman4815 18 июл 2017, 10:19

Здравствуйте. Есть ли способ, заставить спрайт отбрасывать и принимать на себя тени, чтобы работали сортировочные слои?

Стандартными методами, через материал спрайт-дифьюз можно добиться взаимодействия со светом. Но выставление через debug теней ни на что не влияет, свет для спрайта пробивается через все преграды как 3д так и спрайты.
Также нашел шэйдер, который может заставить спрайт принимать и отбрасывать тени, но пропадает возможность слоев. На порядок влияет расстояние до камеры, как в 3д, что совершенно не подходит для анимаций. (Вот этот https://github.com/anlev/Unity-2D-Sprit ... ve-shadows )
Можно сделать видимый спрайт первым способом и привязать к нему его копию, оформленную вторым способом с галочкой только тени, но спрайт естественно все равно не сможет принимать тени.

Есть ли способы добиться желаемого, мб как то настроить свет или есть нормальный шэйдер?
Eric_Cartman4815
UNец
 
Сообщения: 23
Зарегистрирован: 26 сен 2014, 21:43

Re: Тени для спрайтов

Сообщение eonyanov 21 июл 2017, 15:44

Вот тут
http://www.alkemi-games.com/a-game-of-tricks/
И тут
http://raxterworks.blogspot.ru/2014/10/lights-and-normal-maps-with-unity-46.html

Хотя это больше для света, а не теней.
Неплохо было бы увидеть пример, как вы представляете 2д тени, потому что могут быть разные вариации.

Например, есть такой плагин. Там тени, как будто вид сверху.

Вот тут еще что-то есть http://ru.esotericsoftware.com/forum/Unity-lighting-shadows-and-performance-improvements-1403
Glow Asteroids Game
Happy Chair
Аватара пользователя
eonyanov
UNITрон
 
Сообщения: 298
Зарегистрирован: 22 авг 2014, 10:28

Re: Тени для спрайтов

Сообщение Eric_Cartman4815 04 авг 2017, 17:00

Спасибо за ответ, это несколько не то вроде,просто тени и освещение у меня получились, а карты нормалей мне не помогут, или я неправ и стоит в их сторону копать?
Вот конкретика:
есть мультиплетный спрайт собирающийся в персонажа:
Изображение

Герой находится в трехмерном мире, у меня получилось добиться, чтобы он принимал на себя освещение и отбрасывал тени:
Изображение

Однако принимать тени спрайты не хотят, а источник игнорирует 3д объекты и спрайты перед героем, освещая его через все преграды:
Изображение

Добиться надо вот такого взаимодействия с тенями, как нормальный объект:
Изображение


Этот результат получен тем шэйдером, который я описал выше, там используется "Zwrite On", что убивает "спрайтовость" и порядок отрисовки зависит от удаленности, а не от слоя. Из-за чего становится невозможно заанимировать необходимые действия героя. Можно дописать в "Ztest Off", тогда послойный порядок будет восстановлен, но герой будет перекрывать любые преграды:
Изображение



Никак не получается совместить взаимодействие с тенями и послойную отрисовку(( В каком направлении вообще двигаться материалы, шэйдеры, мб я что-нибудь стандартное упустил?
Eric_Cartman4815
UNец
 
Сообщения: 23
Зарегистрирован: 26 сен 2014, 21:43


Вернуться в Общие вопросы

Кто сейчас на конференции

Сейчас этот форум просматривают: GoGo.Ru [Bot] и гости: 18