Ue4 skylight не работает

Проблемы с освещением и методы их решения в Unreal Engine 4

По правилам освещения, чёрные тени обычно используются, если у вас нет заполняющего света. Это часто происходит по тому, что окружающая среда имеет один направленный поток света, представленный как солнце. UE4 построен на методе, обеспечивающем эффективное заполнение светом окружающего мира называемым SkyLight. Немного про Skylight.

Некорректные lightmap настройки при конвертировании BSP в Static Mesh

Когда вы сконвертируете свою BSP геометрию в static mesh , вы увидите данный результат:

Не беспокойтесь, это нормально. Так как мы только что сконвертировали наш BSP в static mesh, мы должны убедится в правильности назначенного канала для lightmap. Для того чтобы это было делать проще, lightmap автоматически генерируется когда вы конвертируете BSP. Единственное что вам осталось сделать — это выбрать нужный канал и разрешение.

Для того что бы это сделать — откройте новосозданный static mesh. Найдите панель details, расположенную справа в Static Mesh Settings.

Тут вам надо установить Lightmap Resolution. Это может быть любое значение кратное двум (к примеру, 32, 64, 128, и тд.). Это будет разрешением вашей lightmap текстуры. Высокое значение разрешения lightmap даст лучший результат, но в то же время займёт больше памяти и времени просчёта.

Читайте также:  Acer 5560g не работает тачпад

Далее, установите Lightmap Coordinate Index в 1 (UE4 использует этот канал для lightmap по умолчанию). Это положение вашей lightmap UV где нет наложения/пересечения UV шелов.

Если вы хотите увидеть как ваша lightmap выглядит, вы можете кликнуть по кнопке для UV в тулбаре и выбрать UV Channel 1 из выпадающего списка.

А если мне не нужны lightmap’ы ?

Бывают моменты когда игра не нуждается в lightmaps, т.к. оптимизирована для использования лишь динамического освещения. Опция которая отключает lightmaps , расположена в world settings и проверяется пунктиком “Force No Precomputed Lighting”. Когда освещение перестроится — все ранее запечённые lightmaps будут удалены.

Есть 2 способа для отключения статического освещения:

Project Settings: отключение статического освещения
Menu > Edit > Project Settings

Перейдите в Rendering Tab > Lighting Tab

Снимите галочку с «Allow Static Lighting«

Для восстановления полной функциональности данной опции вам необходимо перезапустить редактор

Level Settings: отключение статического освещения
Откройте World Settings

Перейдите в Lightmass Tab

Снимите галочку с «Force No Precomputed Lighting«

Вам будет показано предупреждение, нажмите ОК

Заново просчитайте освещение для полного обнуления ранее запечённого освещения

Двухстороннее освещения для односторонней геометрии или почему мой свет проходит сквозь объект?

На данном изображении показан ассет, который был сделан в 3ds max: плоскость и трубу.

В редакторе всё выглядит отлично, но когда я импортирую это в ue4, часть геометрии пропадает.

Так что же происходит, ведь данное явление не является нормой?

На самом деле- это нормальное явление.Если смотреть на плоскость, то она рендерится как и положено, но вот её задняя часть, как и ближние (к камере -прим.ред.)полигоны трубы- не рендерятся.

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

В UE4 невидимые полигоны не рендерятся для сохранения производительности. Это не всегда необходимо для получения дополнительных полигонов или плоскостей для рендера, так как в противном случае будут дополнительные вызовы отрисовки (draw calls), которые могут вызвать снижение производительности. С несколькими инстансами это, возможно, не будет играть особой роли, но когда вы разрабатываете под определённую платформу или имеете лимит на draw calls — данную особенность стоит учитывать.

Для понимания почему мы можем видеть только одну сторону нашей геометрии, мы должны открыть нашу геометрию в редакторе геометрии и включить отображение нормалей. Мы увидим зелёные линии указывающие направление полигона(имеется ввиду, что зелёная линия (нормаль) направлена перпендикулярно плоскости полигона). На изображении снизу, мы видим, что линии идут в направлении центра геометрии. Это направление которое даёт возможность увидеть геометрию.

Совет: Вы можете проверить направление нормалей в редакторе ue4 дабы увидеть, где именно у вас проблема.

Итак, у нас некоторые объекты с невидимыми сторонами, всё то нам нужно сделать, дабы это исправить:

1. (ТОЛЬКО ДЛЯ СТАТИКИ) Двухстороннее освещение

Включить данную опцию в details panel для выделенного ассета в Level Viewport.

С данной включённой опцией когда свет построится, lightmass будут считать что освещение для геометрии запечено. Это будет давать тень, даже если мы не можем видеть её с такого ракурса. Это не работает для подвижных/динамических источников света, т.к. Unreal Engine 4 использует deffered рендер.

2. Создание двухстороннего материала
Откройте редактор материалов и слева в details panel выберите опцию “Two-sided”.

Сохраните и скомпилируйте ваш материал, чтобы увидеть результат.

Данный метод может быть использован с Статическим/Стационарным/Подвижным освещением.Теперь материл рендерит плоскости, которые ранее не были видны.

Данный способ добавляет draw calls

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

Почему всё выглядит так, как будто я ничего не делал до этого или Масштабируемые настройки

Масштабируемые настройки располагаются в Settings > Engine Scalability опции на тулбаре.

Цель данного масштабирования заключается в том, что бы не шибко производительные компьютеры не умирали от ультра настроек. По умолчанию редактор занижает настройки если FPS падает слишком низко.

Опция “Shadows” непосредственно влияет на дальность прорисовки всех динамических теней. Это верно когда используется “Movable” освещение или когда освещение ещё не запекалось для статического освещения, так как те используют динамические тени до тех пор, пока освещение не будет запечено в lightmaps.

Engine Scalability Settings

Изображения снизу демонстрируют тени на отдалении при разном качестве теней указанных в настройках.

Если у вас топовой ПеКа, но теней нет или с ними что-то не то, стоит сначала потыкать в этих настройках, прежде чем искать проблемы в других местах. Также редактор может занижать настройки если просадки фпс слишком велики.

Если вы не испытываете нужды в автоматическом подборе настроек, то вы можете выключить данную опцию, нажав на галочке внизу окошка.

Почему на источниках света появился красный Х ?

Стационарные источники света ограничены 4 пересекающимися источниками. Когда добавляется ещё и 5й, появляется красный «Х», являясь индикатором того, что ИС с малым радиусом будут переведены в динамические ИС. Это может привести к проблемам производительности, так как динамические ИС потребляют больше ресурсов для запекания теней.

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

Чтобы это исправить, нужно уменьшить количество ИС до четырёх или уменьшить радиус ИС которые пересекаются.

Если же у вас 3 ИС в сцене и появляется красный «Х», то убедитесь, что у вас на сцене нет других ИС с огромным радиусом. Часто это происходит по тому, что Directional light переключён в режим Stationary, измените этот параметр на Статический или Динамический, дабы исправить проблему.

Типовые ошибки при создании lightmap

Ключевым моментом от которого зависит качество ваших lightmap, как ни странно, является правильное создание этих самых lightmap, а именно корректное использование UV пространства. Когда шелы вашей UV развёртки накладываются друг на друга или выходят за пределы 0-1 UV пространства, то вам будет показано следующее предупреждение “Lightmap Overlapping by xx%”.

Ниже приведена ссылочка на подробный гайд о том, как правильно сделать lightmap’у. Крайне рекомендуется к прочтению, если вы впервые имеете дело с lightmap’ами или оные получаются у вас с артефактами.

Ключевые моменты про которые нельзя забывать при создании lightmap:

1. Никаких пересекающихся шелов в UV.

2. UV шелы не должны выходить за пределы 0-1 квадрата развёртки.

3. Flat-Mapping — не панацея и часто даёт артефакты на вашей lightmap’е.

4. Используйте максимум UV пространства.

5. Если у вас объекты больших размеров, целесообразнее будет разделить его на несколько объектов поменьше, чтобы разрешение lightmap’ы было адекватное, ну и для лучшей производительности в лице Occlusion Culling.

6. Используйте наименьшее разрешение lightmap текстуры, чтобы не увеличивать загрузку ОЗУ в итоговом билде проекта, а заодно уменьшить время запекание самих lightmap.

7. Создавая UV развёртку для lightmap под нужное вам разрешение, не забывайте, что расстояние между UV шелами должно быть не менее 2рх, дабы не допустить артефактов (light bleed).

Мощь Post Process Global Illumination

Post Process Volume (далее PPV) может стать ультимативным инструментом в вашей сцене, когда дело касается освещения, особенно областей со статическим освещением. Post Process Settings позволяют легко и непринуждённо выставлять нужные параметры.

В приведённом ниже примере всё управляется посредством emissive материала цилиндрика, одним слабым источником света в комнате, и двумя пересекающимися PPV. Это довольно дешёвый способ для имитации динамического глобального освещения с использованием PPV

Делаем то что на гифке ниже:
1. Тусклый источник света для номинального мягкого освещения в комнате.
2. На перемещающийся цилиндрик назначен простой emissive материал, с параметром регулирующим яркость оного.
3. Первый PPV нужен для окружающего пространства, на случай если нужно будет переопределить какие-либо глобальные параметры.
4. Второй PPV прикреплён к цилиндрику, имеет больший чем цилиндр размер; для более плавной работы PPV было скорректировано 3 параметра:
— Indirect Lighting Color имеет тот же цвет что и цилиндр, но немного ярче.
— Indirect Lighting Intensity настроен таким образом, что придаёт ощущение, будто цилиндрик освещает комнату.
— Post Process Volume’s Blend Radius настроен таким образом, чтобы при пересечении этих двух PPV, влияние обоих плавно смешивалось.

Всё это управляется посредством PPV и статического освещения! Способность контролировать запекание GI может дать больше контроля если вам нужно сделать разные варианты освещения и оградить от необходимости полагаться сугубо на запекания освещения для полного соответствия.

Капсульные тени были добавлены в 4.11 версии и позволяют скелетал мешам органично вписываться в сцены с непрямым освещением и в сцены с прямым освещением но с мягкими тенями.

Материал размещённый по ссылке ниже раскроет данную тему.

Источник

Решение проблемы с lights need to be rebuilt ue4

Имя, не то слово! Даже в нашем Че далеко ходить ненужно.

17 октября 2021 00:34

Ну тут по сути вопрос спорный, нет учёта цен перекупов и то.

2 октября 2021 05:20

30 сентября 2021 19:18

На фотографии, как будто кто-то лежит. Там где фотография.

30 сентября 2021 17:38

Огурец от дяди Вани,Каждый видит мир по своему. .

Источник

Ue4 skylight не работает

Что если я не хочу иметь lightmaps или моя игра в них не нуждается
Бывают моменты когда игра не нуждается в lightmaps, т.к. оптимизирована для использования лишь динамического освещения.Опция которая отключает lightmaps , расположена в world settings и проверяется пунктиком “Force No Precomputed Lighting”. Когда освещение перестроится- все ранее запечённые lightmaps будут удалены.

Есть 2 метода для отключения статического освещения:

Проектная спецификация: отключение статического освещения

  • Menu > Edit > Project Settings
  • Перейдите в Rendering Tab > Lighting Tab
  • Снимите галочку с «Allow Static Lighting»
  • Для восстановления полной функциональности данной опции вам необходимо перезапустить редактор

Спецификация уровня: отключение статического освещения

  • Откройте World Settings
  • Перейдите в Lightmass Tab .
  • Снимите галочку с «Force No Precomputed Lighting»
  • Вам будет предупреждение, нажмите ОК
  • Заново просчитайте освещение для полного обнуления ранее запечённого освещения



Созданный ранее ассет импортирован в UE4

Когда вы создаёте вашу геометрию в программе для моделирования, по умолчанию стоят настройки, позволяющие видеть геометрию с двух сторон.
В UE4 невидимые полигоны не рендерятся для сохранения производительности.Это не всегда необходимо для получения дополнительных полигонов или плоскостей для рендера, так как в противном случае будут дополнительные «draw calls», которые могут вызвать уменьшение производительности.С несколькими инстансами это возможно не будет иметь значительного различия, но когда вы разрабатываете под определённую платформу или имеете лимит на «draw calls»- это преобретает значительный смысл.

Для понимания почему мы можем видеть только одну сторону нашей геометрии, мы должны открыть нашу геометрию в редакторе геометрии и включить отображение нормалей.Мы увидим зелёные линии указывающие направление полигона(имеется ввиду, что зелёная линия (нормаль) направлена перпендикулярно плоскости полигона). На изображении снизу, мы видим, что линии идут в направлении центра геометрии. Это направление которое даёт возможность увидеть геометрию.

Совет:Вы можете проверить направление нормалей в редакторе ue4 дабы увидеть, где именно у вас проблема.

Итак, у нас некоторые объекты с невидимыми сторонами, всё то нам нужно сделать, дабы это исправить:

1.(ТОЛЬКО ДЛЯ СТАТИКИ) Двухстороннее освещение

  • Включить данную опцию в details panel для выделенного ассета в Level Viewport.
  • С включённой данной опцией когда свет построится ,lightmass будут считать что освещение для геометрии запечено.Это будет давать тень, даже если мы не можем видеть её с такого ракурса.Это не работает для подвижных/днамических источников света, т.к. Unreal Engine 4 использует отложенный рендер.

Details Panel ассета в Level Viewport

Финальный результат

2. Создание двухстороннего материала

  • Откройте редактор материалов и слева в details panel выберите опцию “Two-sided”.
  • Сохраните и скомпилируйте ваш материал, чтобы увидеть результат.
  • Данный метод может быть использован с Статическим/Стационарным/Подвижным освещением.Теперь материл рендерит плоскости, которые ранее не были видны.

Внимание! данный способ добавляет draw calls.
Как упоминалось ранее, это не актуально для небольших сцен, но если вы ограничены в ресурсах, то это может повлиять на производительность.

Engine Scalability Settings

Изображения снизу демонстрируют тени на дистанции при разных качествах теней указанных в настройках.

Low

Если у вас топовой ПеКа, но теней нет или с ними что-то не то, стоит сначала потыкать в этих настройках, прежде чем искать проблемы в других местах.Также редактор может занижать настройки если просадки фпс слишком велики.

Если вы не испытываете нужны в автоматическом подборе настроек, то вы можете выключить данную опцию, нажав на галочке внизу окошка.

Почему на источниках света появился красный Х ?
Стационарные источники света ограничены 4 пересекающимися источниками. Когда добавляется ещё и 5й, появляется красный «Х», являясь индикатором того, что ИС с малым радиусом будут переведены в динамические ИС.Это может привести к проблемам производительности, так как динамические ИС потребляют больше ресурсов для запекания теней.

Пересекающиеся Стационарные источники света
Если освещение будет запечено с любым стационарным светом который имеет перекрытия, будет выдано предупреждение с описанием ИС который является источником проблемы и последующими из-за этого последствиями.
Чтобы это исправить, нужно уменьшить количество ИС до четырёх или уменьшить радиус ИС которые пересекаются.
Если же у вас 3 ИС в сцене и появляется красный «Х»,то убедитесь, что у вас на сцене нет других ИС с огромным радиусом.Часто это происходит по тому, что Directional light переключён в режим Stationary, измените этот параметр на Статический или Динамический, дабы исправить проблему.

Динамическое (Подвижное) Освещение

Некорректное качество теней

Пример некорректного затенения геометрии.

Только! для Directional Light : Настройки Cascaded Shadow Maps:

Cascaded Shadow Maps настройки, в Directional Light Details

Dynamic Shadow Distance Movable: Расстояние от камеры, на котором тени будут исчезать.Значение 0 отключает их.

Dynamic Shadow Distance Stationary: Расстояние от камеры, на котором тени будут исчезать.По умолчанию стоит 0 для Directional Stationary Lights.

Num Dynamic Shadow Cascades: Количество каскадов на которое будет делится фрустум.Больше каскакодов- лучше качество, но и ресурсоёмкость возрастает.
Внимание! обязательно тыкните в ссылочку ниже, ибо наверняка не все знают что такое фрустум.

Num Dynamic Shadow Cascades Примеры:

Количество каскадов = 0

Количество каскадов = 1

Количество каскадов = 2

Количество каскадов = 3

Количество каскадов = 4

Cascade Distribution Exponent: Параметр регулирующий, на каком расстоянии от камеры распределение ближе (выше значение) или дальше (меньше значение) от камеры.Значение 1 означает, что переход будет пропорционален разрешению экрана.

Cascade Distribution Exponent Примеры:

Распределение = 1

Распределение = 2

Распределение = 3

Распределение = 4

Cascade Transition Exponent: Параметр регулирующий затухающий регион между каскадами. Низкое значение даст жёсткие грани, высокое- мягкие.
Cascade Transition Exponent Пример:

Эффект перехода

Cascade Transition Exponent

Жёсткая грань (низкое значение)

Смешивание граней (высокое значение)

Shadow Distance Fadeout Fraction: Параметр регулирующий на каком расстоянии тени будут затухать. Высокое значение ослабляет тени, в то время как низкое значение оставляет тени тёмными.
Shadow Distance Fadeout Fraction Пример:

Затухание = 0

Затухание = 1

Far Shadow Cascade Count: Coming in 4.8. More information to follow soon.
Far Shadow Distance: Coming in 4.8. More information to follow soon.

Регулирование Cascades для лучшего качества:


Просачивание теней и их точность, можно настроить с регулированием параметров указанных выше.Данный раздел покажет как лучше настроить параметры, чтобы получить наилучший результат в момент приближённой камеры и когда она отдаляется.Нахождение баланса для каждой отдельной игры- путь проб и ошибок без которого нельзя обойтись.

Это базовая сцена с одними лишь настройками по умолчанию:

Проблемные зоны, вид поближе

Сфокусируем внимание на минимизации просветов теней, в пределах разумного. По умолчанию, дистанция динамических теней установлена в 20000 юнитов.Данное значение не всегда обязательно и может быть изменено в большую или меньшую сторону.
В этой сцене настройки распределения, дистанции теней и количество каскадов просветов и их точность — на приемлемом уровне.


Также имеются ещё 2 настройки которые могут улучшить точность освещения.

Местонахождение этих настроек:

Те самые 2 настройки — Shadow Bias и Filter Sharpness

Shadow Bias — контролирует точность теней в сцене, но может выдать артефакты, если значение будет слишком низким.По умолчанию стоит значение 0.5 которое даёт хороший результат между точностью и эффективность.

Shadow Filter Sharpness — помогает скрыть некоторые артефакты при низких значениях и помогает создавать более резкие тени на краях.

Принимая во внимание то, что предыдущие настройки не были применены для текущих примеров, то ниже идут 2 примера с демонстрацией этих параметров ( Shadow Bias и Shadow Filter Sharpen):

Shadow Bias = 0, установлено слишком низкое значение и поэтому появляются артефакты

Решение данной проблемы- нахождение баланса между установкой не слишком низкого значения и подбором нужного значения в Cascaded Shadows

Shadow Filter Sharpen — делает края тени более резкими при высоких значениях.

Filter Sharpen = 1

Высокое значение параметра даёт резкий край тени, низкое- плавный край тени.

Почему мой подвижный источник света светится сквозь меш на дистанции?

Что получается в итоге.Камера в отдалении.

Чтобы понять что происходит, нужно учитывать, что движок использует глубину сцены, дабы определить, что будет видимым и что будет невидимым при рендере.Тут же мы имеем точечный источник света который испускает свет по всему радиусу до тех пор пока не встретит преграду или пока не столкнётся с границей сферы.

На картинке ниже вы можете наблюдать, как при отдалении камеры появляется halo эффект вокруг внешних граней меша из-за того, что свет не встречает преград на своём пути и исходит во всех направлениях.

Проход света сквозь меш

Вы можете заметить, что если вы на дистанции выберете/выделите такой меш, то освещение вернётся в нормальное состояние.Это объясняется тем, что вы сфокусировались в данный момент на данном меше.

Дабы сохранить меш пропускания света, вам нужно выделить меш, и перейти в details panel.Тут вам нужно найти во вкладке Rendering , параметр Bounds Scale.

Местонахождение Bounds Scale

По умолчанию значение установлено в 1.0 . Увеличивайте данный параметр на небольшие значение (1.1, 1.2 и тд.). Используя значение = 2 ,удваивает дистанцию которая может стать излишней. Нет необходимости использовать значение больше необходимого, так как это может повлиять на производительность и качество теней.

Вы можете увидеть/визуализировать границы вашего меша перейдя во вьюпорте > Show > Advanced > Bounds

Увидите нечто такое:

Визуализированные границы объекта.

Если у вас есть вышеописанная проблема, но вы не хотите увеличивать размеры границ вашего меша из-за проблем с производительностью — попробуйте использовать Spotlight. Данный ИС пускает свет лишь в одном направлении, в отличии от point light который пускает свет по всем направлениям когда меш пропускает свет.Пусть это и возымеет некоторый положительный/требуемый эффект, но лишь методом проб и ошибок вы сможете добиться идеального решения.

Как вариант, мы можете попробовать использовать Стационарное освещение, а не динамическое/подвижное, это позволит вам запечь тени, что в итоге сохранит производительность ,и не потребует каждый раз обновлять информацию о тенях.

Alternatively, you could forego a fully movable/dynamic light and use a stationary light that bakes a lightmap texture, which can also save on performance by having zero overhead during runtime for rendering shadow information.

Простенькая сцена с 3 статическими мешами.

В данной сцене 3 объекта : 2 стены и пол.Каждый объект имеет собственную тень, которая запечена в текстуру именуемую — лайтмапой (lightmap).Данная лайтмапа хранит в себе информацию о тенях/освещении, которые проецируются на эту текстуру.Она, как правило, создаётся художником в процессе создания ассета.
Что нужно знать про лайтмапы и как их эффективно создавать?

Другими словами, если я хочу увеличить разрешение тени отбрасываемой стеной с дверным проёмом,я буду настраивать не стену с дверным проёмом, а увеличу разрешение лайтмапы пола.Там куда проецируется тень и запекается в лайтмапу.

Теперь нам надо увеличить разрешение лайтмапы для некоторых мешей.Каждый меш имеет свою собственную лайтмапу, разрешение которой можно установить в details panel, когда наш меш выбран в mesh editor.

В данном примере рассматриваем разрешение лайпмапы пола, и только его.
Когда изменяете разрешение лайтмапы, используйте значения только кратные двум (32(по умолчанию),64,128,и т.д.) за исключением BSP представленных ниже.

Качество разрешения лайтмапы зависит от двух факторов : размер меша и размер UV шела на развёртке лайтмапы.

Разрешение = 64

Разрешение = 128

Разрешение = 256

Разрешение = 512

Разница лайтмапы BSP от статического меша в том, что значение лайтмапы BSP уменьшается в пользу лучшего качества.

Resolution = 32

Resolution = 24

Resolution = 16

Resolution = 8

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

Что такое Overlapping UV
Когда используете статическое или стационарное освещение, необходимо использовать 2 развёртки , иначе вы получите такое сообщение:

Лог после запекания освещения

В данном случае вам надо установить 2й канал развёртки для вашей лайтмапы. В противном случае редактор будет использовать имеющуюся развёртку со всеми имеющимися ошибками.
Вы можете сделать это прямо в редакторе (картинка ниже) либо же с вашем 3d редакторе.

Оригинальные UV и результаты

Перекрывающиеся UVs

Результат в редакторе

Правильные UV и результаты

Правильные UVs

Результат в редакторе

Заметьте, что финальные UV не имеют перекрытий что даёт теням/свету правильно запечся в текстуру.

Как сгенерировать UV в редакторе

Откройте меш, лайтмапу которого ваш нужно отредактировать.
Найдите панельку похожую на эту:

Static Mesh Editor Details Panel

Данная панелька позволяет вам создать свой канал лайтмапы , но назначение разрешение лайтмапы и индекса координат происходит не здесь, а чуть ниже.
Настройки вкладки “Build Settings” на которых мы сфокусируемся:

Generate Lightmap UVs = удостоверьтесь в том, что данная галочка стоит.
Min Lightmap Resolution =Минимальный размер разрешения лайтмапы которое вы хотите.
Source Lightmap Index = Источник с которого генерируем лайтмапу
Destination Lightmap Index = Индекс развёртки которую мы хотим использовать в качестве лайтмапы.

Для большинства ассетов это достаточно хорошие настройки.Ключевой момент тут- выбор нужного индекса источника лайтмапы.Это UV который обычной используют для текстур.UV шелы в этой UV будут перепакованы, и не будут образовывать перекрытия поверхностей.Разрешение лайтмапы не влияет на качество развёртки, этот параметр влияет лишь на качество теней которые будут запекаться на эту развёртку.Если вы хотите проверить, какая у вас получилась развёртка после генерации, выберите UV channel 1 (показано на картинке):

Редактор статик мешей, выбор UV Channel

Теперь, после генерации лайтмап UV, осталось выбрать нужный id в настройках самого меша.
В редакторе меша перейдите в details panel, во вкладку “Static Mesh Settings”

В этой вкладке нужно установить разрешение лайтмапы которое нам нужно.
32 — дефолтное разрешение.для маленьких объектов оно вполне подходит, но чем больше объект, тем больше разрешение нужно указывать.
Удостоверьтесь, что значение кратно 2 (пример: 32, 64, 128, 256, и тд.)
В следующем параметре, удостоверьтесь, что индекс координат лайтмапы установлен на правильный канал.
Обычно для лайтмапы стоит значение 1.

Static Mesh Editor Details, Настройки лайтмапы

После использования данных настроек у вас есть правильное разрешение лайтмапы.

А вообще, лайтмапы лучше создавать прямо в 3d редакторе который вы используете, там вы сможете сделать идеальную развёртку для лайтмапы.Какой бы автогенерация не была, но ошибки будут всегда.
Если вы используете в своём пайплайне 3ds max или maya, посмотрите видео ниже, на них человек доступным языком объясняет как сделать отличную развёртку для лайтмапы.
Сказать автору видео «Спасибо» можете в виде like’ов и подписки на канал (там ещё много полезного видео на РУССКОМ языке (всё как вы любите)).

Когда вы используете статическое освещение, вам необходимо забилдить освещение чтобы увидеть результаты.Лайтмасс (Lightmass) используют для генерации и компиляции текстур, которые будут хранить информацию об освещении и тенях запечённую в лайтмапы.

По умолчанию, значение лайтмасс = 3 световых отскока, дабы получить GI (глобальная иллюминация/освещение) используя статическое освещение.Если необходимо изменить данное значение, то его можно найти во вкладке World Settings.

Lightmass World Settings по умолчанию

Global Illumination пример сцены.Одинарный источник света в 250 единиц (15w примерно)

Настройки сцены

0 отскоков

1 отскок

2 отскока

3 отскока

100 отскоков

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

Экстерьер

В данной сцене будет использоваться продакшн (PRODUCTION) качество освещения.В данной сцене используются ассеты из Starter Content pack .Все меши в этой сцене используют разрешение лайтмап = 256, в других случаях об этом будет написано.Пост процессы установлены в дефолтные значения , с адаптацией глаз для того, чтобы лучше видеть тёмные места комнаты.

После постройки освещения получаются такие вот результаты:

Первоначальное освещение, дефолтные настройки

интерьер 2й комнаты , освещается полностью непрямым светом

Brute force может быть использовано для удаления некоторых артефактов путём увеличения разрешения лайтмапы , но это решение не всегда верно и не всегда помогает.
Как пример, во второй интерьерной комнате, разрешение лайтмапы увеличили до 1024:

Первоначальное освещение, дефолтные настройки

интерьер 2й комнаты , разрешение лайтмапы 1024

В этом примере множество артефактов было исправлено за счёт повышения разрешения лайтмапы, но это также увеличивает потребление памяти.Это наиболее дружественное к производительности решение для непрямого освещения.

Настройки Lightmass изменяются тут :

Indirect Lighting Quality: увеличивает значение Global Illumination для получения требуемого качества.
Indirect Lighting Smoothness: фактор сглаживания применяемого в Indirect Lighting.
Осторожно! используя значение более чем 1 в Indirect Lighting Quality сильно увеличивает время билдинга

Пример настроек #1

Вы также можете настроить количество отскоков непрямого освещения для получения требуемого результа:

количество отскоков непрямого освещения= 5

На данный момент настройки освещения установлены в достаточных значениях для сокрытия любых артефактов с текстурами. Но если нет возможности производить данные манипуляции, то можно просто поднять значение разрешение лайтмапы. Тут это значение изменили с 256 до 512 и получили такой вот результат.

Не изменённые косвенные параметры с разрешением лайтмапы = 1024.

В начале этого урока было показано, как с помощию разрешения лайтмапы в 1024 исправить некоторые артефакты.Но подкрутив некоторые настройки лайтмасс можно добиться лучшего результата с меньшим значением разрешения лайтмапы.

Хотя этот метод и показывает методы решения проблем с «загрязнением» лайтмап без использования света, следует помнить,что добавление в нужное место небольшого источника света, пусть и с низкой интенсивность, без теней- может дать результат получше.Методы описанные выше являются лишь отправной точкой, и лишь методом проб и ошибок вы можете добиться требуемого результата.

Что такое “Lighting needs to be rebuilt” в левом верхнем углу?
Если вы в режиме : игра в редакторе, симуляция, standalone, в левом верхнем углу видиту надпись Lighting needs to be rebuilt, это означает, что вы должны заново запечь/простроить освещение в вашей сцене.Данное явление происходит только при статическом и стационарном освещении.Динамическое освещение не требует билдить освещение.Данное сообщение появляется в случае если источник света был передвинут или модифицирован.


Сообщение об ошибке

Сравнение качества освещения

Настройки качества освещения.

Для данной демонстрации будет использоваться закрытая комната как и в предыдущем параграфе.Как исправить дырки в стенах и грязность лайтмап

Продакшн

В данном примере легко заметить разницу между качеством превью и продакшн. По сравнению с другими настройками, в продакшине исчезают недочёты/баги, которые имеют место быть в предыдущих качествах.Именно поэтому, если вы наблюдаете при запекании света ошибки/баги/артефакты, рекомендуется забилдить освещение на продакшине, и в том случае, если баги/ошибки не исчезли, идти в лайтмапы и проверять уже их на правильность.

На примере этой статуи заметить разницу между качествами не так уж и легко.Но разница есть.

Улучшение развёртки лайтмапы — залог качественных теней.


качество освещения статуи

Источник

Оцените статью