Unity - Вершинный свет игнорируется статическими объектами (карта света) - PullRequest
1 голос
/ 25 мая 2019

Вершинные источники света отлично работают на динамических объектах, но в тот момент, когда я делаю их статичными и запекаю световые карты, они игнорируются.

Я пытался перейти на другие «световые режимы» в шейдере, но ни один не помог. Lightmode "ForwardBase", кажется, действительно запутался, хотя я бы предположил, что его использовать, учитывая его описание на https://docs.unity3d.com/Manual/SL-PassTags.html

Любые предложения будут очень благодарны:)

1 Ответ

1 голос
/ 26 мая 2019

Мое понимание рассматриваемого вопроса

Как я понимаю, когда вы запекаете карту освещения, единственным источником света, который изменит свет запеченных объектов, является пиксельный свет.Но вы бы хотели, чтобы он работал с вершинным источником света.

Я до сих пор не совсем уверен, имеете ли вы в виду, что источник света просто не будет запекаться на запеченной карте или он не можетповлиять на уровень освещенности объекта после его выпекания.

В любом случае я провел поиск.

Возможное решение / объяснение 1

При поиске я наткнулся на этот инструмент и описание.

https://assetstore.unity.com/packages/vfx/shaders/vertex-lit-shader-baked-shadows-realtime-light-75977

По умолчанию при использовании встроенного шейдера Unity Mobile / VertexLit освещение работает только как в режиме реального времени, так и в режиме реального времени.но вы не можете отображать свет в реальном времени на запеченной поверхности.Этот шейдер позволяет запеченной поверхности также получать освещение в реальном времени.

Обратите внимание, что инструмент бесплатный.


Возможное решение / объяснение 2

Я также наткнулся на этот урок: https://catlikecoding.com/unity/tutorials/rendering/part-16/

Где автор пишет

Когда используются световые карты, Unity никогда не будет включать вершинные источники света.Их ключевые слова являются взаимоисключающими.Поэтому нам не нужен вариант с VERTEXLIGHT_ON и LIGHTMAP_ON одновременно.

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

Надеюсь, это поможет вам.

...