Тема такая, хочу на основе шадоупам делать объемные эффекты (ну например тень в тумане от объекта за камерой), но как только из поля зрения камеры пропадают объект, на которые падает свет от источника света (от него берём shadowmap) то происходит тупо изчезновение эффекта, хотя ожидается, что он будет.
Хотя, возможно я как-то не совсем правильно семплю значение тени из каскада… мб клампинг по максимальной глубине забыл сделать…
Тут явно замешан frustrum culling. Когда у тебя какой-то объект выходит за рамки экрана, он пропадает, причём тень от него всё равно рендерится. Я думаю у тебя проблема именно в исчезновении объекта, а не в тенях.
Для тестов можешь попробовать у объекта изменить bounding box, поставить там больше значение, например, 10. Frustrum culling определяет какие объекты отсекать именно по bounding box. В этом случае из-за большого бокса даже если объект уйдёт за камеру, он всё равно будет обрабатываться.
arte_de_mort
Щас попробуем
arte_de_mort
Да, пасибо за наводку, изменил для конкретного прохода матрицу фрустум куллинга и теперь работает так, как ожидается. Ещё раз спасибо, решил проблему) Теперь шадоумапа генерится так как необходимо. Вот тот результат теней в объемном тумане от террейна с объектами, который я ожидал и который получил)
Рад что сработало :)
arte_de_mort
Да вот сработать сработало) Но в юнити не всё так просто) Есть минуссы с таким подходом)
UPD: не желательны минусы
UPD2: начал всё переписывать на URP
arte_de_mort
Что-то читал тебя и упустил тот момент, что все отсеченные по куллингу объекты рисуются как и обычные в шадопаму, а потому, велика вероятность, что есть косяк в шейдере… нужно будет перепроверить🙂
Тема в архиве.