![]() |
Теневые карты - Версия для печати +- Xtreme3D Community (https://xtreme3d.ru/forums) +-- Форум Xtreme3D (https://xtreme3d.ru/forums/forumdisplay.php?fid=3) +--- Форум Вопросы и ответы (https://xtreme3d.ru/forums/forumdisplay.php?fid=6) +--- Темы: Теневые карты (/showthread.php?tid=71) |
Теневые карты - Глеб - 03-19-2022 Все же так и не удалось сделать тени на карте, может быть проблема в том, что freeform не показывает на себе тени? Это работает только на примитивах? Или я что-то не так делаю? Теневые карты - Gecko - 03-21-2022 Любые объекты должны отбрасывать тени) Скорее всего, неправильно что-то настроено. Или ты не там ищешь тень, где она должна быть (т.е., например, теневая камера неправильно повернута) Также тень будет отсекаться по размеру проекции (ShadowMapSetProjectionSize). Теневая проекция имеет ограниченный размер в 3D. Все, что за ее пределами, не будет отбрасывать тень. Ее можно увеличить, но тогда пропорционально падает детализация теней - в этих случаях лучше использовать CSM, то есть, каскадные тени (но они не встроены в движок, нужно писать свой шейдер). Теневые карты - Gecko - 03-21-2022 Вот о чем я говорю (CSM): ![]() ![]() В красной зоне один размер проекции (в данном случае 3), в зеленой больше (15), в синей еще больше (100). При этом размер теневых карт не меняется, но за счет того, что на разных расстояниях от камеры используются разные проекции, получается максимальный охват площади с плавным уменьшением детализации, которое в финальном рендере не бросается в глаза, т.к. большая проекция очень далеко. Если использовать только одну карту, то мы бы видели тени, грубо говоря, только в красной зоне. Если эта зона не в поле зрения камеры, то теней вообще не будет видно. Я подозреваю, у тебя именно такая ситуация. ![]() |