#1 2022-03-19 19:21:18

Глеб
Участник
Зарегистрирован: 2022-03-04
Сообщений: 48

Теневые карты

Все же так и не удалось сделать тени на карте, может быть проблема в том, что freeform не показывает на себе тени? Это работает только на примитивах? Или я что-то не так делаю?

Offline

#2 2022-03-21 08:14:03

Gecko
Админ
Из РФ, Казань
Зарегистрирован: 2018-06-02
Сообщений: 163
Сайт

Re: Теневые карты

Любые объекты должны отбрасывать тени) Скорее всего, неправильно что-то настроено. Или ты не там ищешь тень, где она должна быть (т.е., например, теневая камера неправильно повернута)
Также тень будет отсекаться по размеру проекции (ShadowMapSetProjectionSize). Теневая проекция имеет ограниченный размер в 3D. Все, что за ее пределами, не будет отбрасывать тень. Ее можно увеличить, но тогда пропорционально падает детализация теней - в этих случаях лучше использовать CSM, то есть, каскадные тени (но они не встроены в движок, нужно писать свой шейдер).

Offline

#3 2022-03-21 10:23:50

Gecko
Админ
Из РФ, Казань
Зарегистрирован: 2018-06-02
Сообщений: 163
Сайт

Re: Теневые карты

Вот о чем я говорю (CSM):

csm1.png csm2.png

В красной зоне один размер проекции (в данном случае 3), в зеленой больше (15), в синей еще больше (100). При этом размер теневых карт не меняется, но за счет того, что на разных расстояниях от камеры используются разные проекции, получается максимальный охват площади с плавным уменьшением детализации, которое в финальном рендере не бросается в глаза, т.к. большая проекция очень далеко.

Если использовать только одну карту, то мы бы видели тени, грубо говоря, только в красной зоне. Если эта зона не в поле зрения камеры, то теней вообще не будет видно. Я подозреваю, у тебя именно такая ситуация.

image.png

Offline

Подвал доски

Под управлением FluxBB