Наложение 3D тени на 2D спрайты? Unity

Хотел сделать для 2D top-down игры, полностью сделанной из 2D спрайтов, красивенькую смену дня и ночи, чтоб прям тени от предметов менялись и т.д.
Ну и ничего лучшего я не придумал как взять 3D объекты, сделать их невидимыми (кроме теней от них), разместить их возле спрайтов и работать с этим. И вроде все работает, да вот только тени от этих 3D объектов не накладываются на 2D спрайты.
Можно с этим что-то сделать?
И может у вас есть идеи как это сделать более нормальным способом без костылей?
У меня была идея использовать готовый компонент для создания света и теней для 2D спрайтов в качестве солнца, но:
1 недостаток - возможные бесконечный тени
2 недостаток - этот свет не ведет себя как солнце (то есть складывается такое ощущение, что источник света находится на одном с уровне с спрайтами)

22
7 комментариев

Наложение 3D тени на 2D спрайты? используй карту нормалей
Не изобретай велосипед.

https://www.youtube.com/watch?app=desktop&v=J2lzJpAgmyM&t=400s

1
Ответить

Но карта нормалей используется для освещения и затемнения самих предметов, а что касаемо их теней?

Ответить

Вот тут есть гайд как делать тени в 2D - https://unity.com/how-to/2d-light-shadow-techniques-in-the-universal-render-pipeline

1
Ответить