Как убрать eye adaptation ue4

UEngine.Ru

Русскоязычное сообщество Unreal Engine 4

Как убрать eye adaptation ue4. . Как убрать eye adaptation ue4 фото. Как убрать eye adaptation ue4-. картинка Как убрать eye adaptation ue4. картинка . Русскоязычное сообщество Unreal Engine 4

Адаптация глаз (Exposure)

Адаптация глаз, или автоматическая экспозиция, призвана, исходя из названия, реализовать сам эффект адаптации глаз обычного человека при переходе из темного помещения в светлое и наоборот.

Как убрать eye adaptation ue4. eye adaptation. Как убрать eye adaptation ue4 фото. Как убрать eye adaptation ue4-eye adaptation. картинка Как убрать eye adaptation ue4. картинка eye adaptation. Русскоязычное сообщество Unreal Engine 4

СвойствоОписание
Low PercentТехнология адаптации основывается на значении, полученном из гистограммы яркости цвета сцены. Оно определяет нижний порог, используемый для вычисления среднего значения освещенности. Лучше всего не ограничивать светлые области изображения, именно для этого приходится игнорировать некоторые темные части. К примеру, значение 80 ограничит 80% темных участков. Значение параметра должны находится в промежутке [0; 100], наиболее приемлемый – от 70 до 80.
High PercentТехнология адаптации глаз основывается на значении, полученном из гистограммы яркости цвета сцены. Оно определяет высший порог, используемый для вычисления среднего значения освещенности. Мы советуем списать несколько процентов, поскольку вполне нормально иметь несколько ярких пикселей (для солнца, к примеру). Значение параметра должно находится в промежутке [0; 100], наиболее приемлемый – от 80 до 98.
Min BrightnessМинимальная яркость, к которой приспосабливается глаз. Значение должно быть больше 0 и = EyeAdaptationMinBrightness. Фактические значения основываются на диапазоне, используемым контентом.
Speed UpСкорость адаптации при переходе от темного окружения к светлому.
Speed DownСкорость адаптации при переходе из светлого окружения к темному.
Auto Exposure BiasКонтролирует смещение экспозиции. Логарифмическое значение:
0 — изменений нет
-1 — половина яркости
-2 — четверть яркости
1 — удвоенная яркость
2 — учетверенная яркостьДробные значения, к примеру, 1,5, или значения, не приведенные в примере, также работают отлично. При активной адаптации глаз, они будут добавлены к автоматической экспозиции.

Адаптация глаз – гистограмма, основывающаяся на следующем принципе:

Источник

UEngine.Ru

Русскоязычное сообщество Unreal Engine 4

Как убрать eye adaptation ue4. . Как убрать eye adaptation ue4 фото. Как убрать eye adaptation ue4-. картинка Как убрать eye adaptation ue4. картинка . Русскоязычное сообщество Unreal Engine 4

Отражения окружающей среды

Отражение окружающей среды обеспечивает эффективное глянцевое отражение в каждом участке сцены.Многие важные материалы, такие как металлы, имеют отражения во все направления, что обеспечивает отражения окружающей среды.Отражения должны быстро работать очень быстро, так как расчитаны на консоли и компьютеры средней конфигурации.Это не даёт отражений динамических объектов или чётких отражений, поэтому таких результатов необходим достигать за счёт использования дополнительных методов, таких как отражения экранного пространства(Screen Space Reflections).

Как убрать eye adaptation ue4. reflection environment. Как убрать eye adaptation ue4 фото. Как убрать eye adaptation ue4-reflection environment. картинка Как убрать eye adaptation ue4. картинка reflection environment. Русскоязычное сообщество Unreal Engine 4

Быстрая настройка

Для того, что бы начать испольвать отражение окружающей среды — настройте освещение и постройте его.Там (имеет ввиду на сцене) должно присутствовать непрямое диффузное освещение, что бы отражение окружающей среды могло показыватся.Далее, перетащите эктор SphereReflectionCapture из вкладки Modes в вашу сцену и убедитесь, что ваши материалы имеют заметный блеск, и низкую шероховатость.
Используйте режим вихуализации Reflection Override, чтобы увидеть то, что было захвачено.

Глянцевая непрямая зеркальность

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

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

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

Как убрать eye adaptation ue4. VaryingGlossiness. Как убрать eye adaptation ue4 фото. Как убрать eye adaptation ue4-VaryingGlossiness. картинка Как убрать eye adaptation ue4. картинка VaryingGlossiness. Русскоязычное сообщество Unreal Engine 4

Однако, использования одних лишь кубмап отражений на очень шероховатых поверхностях приводит к чрезмерно ярким отражениям, что имеет значительные утечки из-за отсутствия локальной окклюзии.Это решается за счёт использования данных лайтмапы созданной посредством Lightmass.Отражения кубмап смешиваются вместе с лайтмапой непрямой зеркальности основанной на шероховатости материала.Очень шероховатый материал (полностью диффузный) будет сходится с результатом лайтмапы.Такое смешивание, по факту, является комбинированием частей данных об освещении — высокодетализированной (кубмапы) и низкочастотной (лайтмапы).Для того, чтобы это работало корректно, в лайтмапе может быть лишь непрямоей освещение.Это означает, что только рассеянное освещение от стационарных источников света может улучшить качество отражений на шероховатой поверхности.Статический тип освещения не может быть использован вместе с отражениями окружающей среды, так как он даст прямое освещение на лайтмапу. Учтите, что для того чтобы увидеть результат этого смешивания, лайтмапа должна быть хотя бы раз построена,и карта должна иметь значимое непрямое диффузное освещение.

Формы захвата отражений

На данный момент существует 2 формы захвата отражений : сфера и коробка.Форма захвата очень важна, так как она контролирует, какая часть сцены будет захвачена в кубмапу,как форма сцены будет перепроецирована в отражениях, и кака часть сцены сможет получать отражения из кубмапы (зоны влияния).

Форма сферы

Форма сферы наиболее используемая.Она никогда не совпадает с формой отражаемой геометрии, но она не имеет разрывов и углов, следовательно искажение равномерное.

Как убрать eye adaptation ue4. SphereShape. Как убрать eye adaptation ue4 фото. Как убрать eye adaptation ue4-SphereShape. картинка Как убрать eye adaptation ue4. картинка SphereShape. Русскоязычное сообщество Unreal Engine 4

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

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

Форма коробки

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

Как убрать eye adaptation ue4. . Как убрать eye adaptation ue4 фото. Как убрать eye adaptation ue4-. картинка Как убрать eye adaptation ue4. картинка . Русскоязычное сообщество Unreal Engine 4

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

Редактирование

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

Визуализация

Режим отображения Reflection Override был добавлен, чтобы легче было увидеть, как настроены отражения.Этот режим перекрывает все нормали сглаживая варшины нормалей, и делает все поверхности полностью зеркальными и полнстью гладкими (как зеркало).В этот режиме хорошо видны ограничения и артефакты, поэтому стоит иногда переключатся в этот режим, чтобы видеть как ведут себя отражения нормальных условиях.

Как убрать eye adaptation ue4. ReflectionOverride. Как убрать eye adaptation ue4 фото. Как убрать eye adaptation ue4-ReflectionOverride. картинка Как убрать eye adaptation ue4. картинка ReflectionOverride. Русскоязычное сообщество Unreal Engine 4

Были добавлены несколько новых полезных флажков для изоляции некоторых компонентов освещения:

ФлажокОписание
Lighting Components > DiffuseОтключение диффузного вклада от всех методов освещения.
Lighting Components > SpecularОтключение зеркальных вкладов от всех методов отражений.
Lighting Features > ReflectionEnvironmentЭто позволит отключить отражение объектов окружающей среды, но другие свойства отражения по-прежнему будет активной(SSR, analytical specular).

Настройка уровня для использования отражений окрущающей среды

Вопросы производительности

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

Источник

Как убрать eye adaptation ue4

Как убрать eye adaptation ue4. s3aOiwBN18M7aqpuKkhrqvKiv6M7Mf 5 z ghd0k509VTFiqyIapi29bx9PqxWyYi dqMrIMvpyS0uLNRxMJ4yU. Как убрать eye adaptation ue4 фото. Как убрать eye adaptation ue4-s3aOiwBN18M7aqpuKkhrqvKiv6M7Mf 5 z ghd0k509VTFiqyIapi29bx9PqxWyYi dqMrIMvpyS0uLNRxMJ4yU. картинка Как убрать eye adaptation ue4. картинка s3aOiwBN18M7aqpuKkhrqvKiv6M7Mf 5 z ghd0k509VTFiqyIapi29bx9PqxWyYi dqMrIMvpyS0uLNRxMJ4yU. Русскоязычное сообщество Unreal Engine 4

Самый топовый вопрос надпись в левом верхнем углу «Light Need to Rebuild» а также же надпись Preview на объектах. Как это убрать?

Примечание: это также относится к полосам на ландшафте.

2 способ. Найти все источники света на сцене и переключить параметр Mobility на Movable.
+ данного метода. Полностью избавляет от необходимости билдить освещение.
— данного метода. Не подходит для мобильных платформ. Гораздо больше требует ресурсов на расчёт освещения в реальном времени.
Примечание: при использовании 2 способа. Один раз всё равно нужно сбилдить освещение чтобы избавиться от статических теней оставшихся например от передвинутого в сторону стула.

Как убрать eye adaptation ue4. s3aOiwBN18M7aqpuKkhrqvKiv6M7Mf 5 z ghd0k509VTFiqyIapi29bx9PqxWyYi dqMrIMvpyS0uLNRxMJ4yU. Как убрать eye adaptation ue4 фото. Как убрать eye adaptation ue4-s3aOiwBN18M7aqpuKkhrqvKiv6M7Mf 5 z ghd0k509VTFiqyIapi29bx9PqxWyYi dqMrIMvpyS0uLNRxMJ4yU. картинка Как убрать eye adaptation ue4. картинка s3aOiwBN18M7aqpuKkhrqvKiv6M7Mf 5 z ghd0k509VTFiqyIapi29bx9PqxWyYi dqMrIMvpyS0uLNRxMJ4yU. Русскоязычное сообщество Unreal Engine 4

Как убрать eye adaptation ue4. s3aOiwBN18M7aqpuKkhrqvKiv6M7Mf 5 z ghd0k509VTFiqyIapi29bx9PqxWyYi dqMrIMvpyS0uLNRxMJ4yU. Как убрать eye adaptation ue4 фото. Как убрать eye adaptation ue4-s3aOiwBN18M7aqpuKkhrqvKiv6M7Mf 5 z ghd0k509VTFiqyIapi29bx9PqxWyYi dqMrIMvpyS0uLNRxMJ4yU. картинка Как убрать eye adaptation ue4. картинка s3aOiwBN18M7aqpuKkhrqvKiv6M7Mf 5 z ghd0k509VTFiqyIapi29bx9PqxWyYi dqMrIMvpyS0uLNRxMJ4yU. Русскоязычное сообщество Unreal Engine 4

Также на размытие влияет тип сглаживания TAA, можно включить FXAA и размытие сглаживания исчезнет, однако может появиться угловатость, которую маскировала TAA. Также ухудшаться отражения.

Как убрать eye adaptation ue4. s3aOiwBN18M7aqpuKkhrqvKiv6M7Mf 5 z ghd0k509VTFiqyIapi29bx9PqxWyYi dqMrIMvpyS0uLNRxMJ4yU. Как убрать eye adaptation ue4 фото. Как убрать eye adaptation ue4-s3aOiwBN18M7aqpuKkhrqvKiv6M7Mf 5 z ghd0k509VTFiqyIapi29bx9PqxWyYi dqMrIMvpyS0uLNRxMJ4yU. картинка Как убрать eye adaptation ue4. картинка s3aOiwBN18M7aqpuKkhrqvKiv6M7Mf 5 z ghd0k509VTFiqyIapi29bx9PqxWyYi dqMrIMvpyS0uLNRxMJ4yU. Русскоязычное сообщество Unreal Engine 4

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

Ответ: Для этого используется нода Set Master Pose. Вот несколько пунктов, которые нужно знать чтобы выполнить правильную синхронизацию анимаций:
1. Анимация должна быть только на основном меше (т.е на персонаже должна быть анимация, а на одежде нет).
2. Подключать ноду Set Master Pose на Тик не нужно. Она должна сработать один раз и этого будет достаточно. Применяйте её на Begin Play.
3. На ноду нужно подключать сначала меш (одежда) на который нужно передать анимацию, а на второй вход подключить основной меш (персонаж).
4. Иногда у второго меша (одежда) могут возникнуть проблемы с физикой. В таком случае рекомендуется выключать коллизию у этого меша или настроить коллизию так чтобы она игнорировала коллизию персонажа.

Как убрать eye adaptation ue4. xvbxdMm7. Как убрать eye adaptation ue4 фото. Как убрать eye adaptation ue4-xvbxdMm7. картинка Как убрать eye adaptation ue4. картинка xvbxdMm7. Русскоязычное сообщество Unreal Engine 4

Как убрать eye adaptation ue4. s3aOiwBN18M7aqpuKkhrqvKiv6M7Mf 5 z ghd0k509VTFiqyIapi29bx9PqxWyYi dqMrIMvpyS0uLNRxMJ4yU. Как убрать eye adaptation ue4 фото. Как убрать eye adaptation ue4-s3aOiwBN18M7aqpuKkhrqvKiv6M7Mf 5 z ghd0k509VTFiqyIapi29bx9PqxWyYi dqMrIMvpyS0uLNRxMJ4yU. картинка Как убрать eye adaptation ue4. картинка s3aOiwBN18M7aqpuKkhrqvKiv6M7Mf 5 z ghd0k509VTFiqyIapi29bx9PqxWyYi dqMrIMvpyS0uLNRxMJ4yU. Русскоязычное сообщество Unreal Engine 4

Как убрать eye adaptation ue4. s3aOiwBN18M7aqpuKkhrqvKiv6M7Mf 5 z ghd0k509VTFiqyIapi29bx9PqxWyYi dqMrIMvpyS0uLNRxMJ4yU. Как убрать eye adaptation ue4 фото. Как убрать eye adaptation ue4-s3aOiwBN18M7aqpuKkhrqvKiv6M7Mf 5 z ghd0k509VTFiqyIapi29bx9PqxWyYi dqMrIMvpyS0uLNRxMJ4yU. картинка Как убрать eye adaptation ue4. картинка s3aOiwBN18M7aqpuKkhrqvKiv6M7Mf 5 z ghd0k509VTFiqyIapi29bx9PqxWyYi dqMrIMvpyS0uLNRxMJ4yU. Русскоязычное сообщество Unreal Engine 4

При спавне ИИ стоят на месте или висят в воздухе и не двигаются, что это может быть?

Ответ. По умолчанию во всех Character или Pawn установлена опция «Auto Possess AI» в режим «Placed in World».

Поменяйте режим на «Spawned» или лучше на универсальный режим «Placed in World or Spawned» и тода с ИИ будет всё в порядке.

Источник

UE F.A.Q.

Как убрать eye adaptation ue4. 1*cJZaAzIK 9EbT3i 9w4KSA. Как убрать eye adaptation ue4 фото. Как убрать eye adaptation ue4-1*cJZaAzIK 9EbT3i 9w4KSA. картинка Как убрать eye adaptation ue4. картинка 1*cJZaAzIK 9EbT3i 9w4KSA. Русскоязычное сообщество Unreal Engine 4

Почему вы здесь такие токсичные? Я пришёл в чат получать ответы на свои вопросы, а не предложения пойти в гугл. Уууууъуъуъ.

Если тебя посылают в гугл — это не значит, что хотят тебя обидеть\унизить\самоутвердиться за твой счет. Это всего лишь означает, что твой вопрос довольно элементарен и у тебя наверняка получится найти ответ самостоятельно. От этого выиграют все — ты повысишь свой скилл гугления, лучше разберешься, а остальные не потратят свое время на повторение в сотый раз того, что и так легко найти.

Если ты уже прошерстил первые 2–3 страницы гугла и ничего не нашёл, удостоверься, что ты правильно гуглишь:

Посоветуйте с чего начать. Курсы, ссылки, вот это все.

Официальный обучающий контент с мини-курсами по разным тематикам : https://learn.unrealengine.com

Отличные курсы для старта с сайта Udemy, которые теперь доступны бесплатно. Начать изучать можно тут: https://learn.unrealengine.com/course/3750189?r=False&ts=637492315220882788

Как убрать eye adaptation ue4. 1*zp6RHL7ZztZZePQZebSw6g. Как убрать eye adaptation ue4 фото. Как убрать eye adaptation ue4-1*zp6RHL7ZztZZePQZebSw6g. картинка Как убрать eye adaptation ue4. картинка 1*zp6RHL7ZztZZePQZebSw6g. Русскоязычное сообщество Unreal Engine 4

Полезнейший канал WTF Is? в котором наглядно объясняются различные аспекты движка: https://www.youtube.com/c/MathewWadsteinTutorials/featured

Официальная документация движка, в которой можно найти ответы на многие свои вопросы. Не забывайте про нее.
https://docs.unrealengine.com/en-US/index.html

Освещение постоянно меняется, то светлеет, то темнеет.

Как убрать eye adaptation ue4. 1*2IerVfSJ2rFkOlo NmcVew. Как убрать eye adaptation ue4 фото. Как убрать eye adaptation ue4-1*2IerVfSJ2rFkOlo NmcVew. картинка Как убрать eye adaptation ue4. картинка 1*2IerVfSJ2rFkOlo NmcVew. Русскоязычное сообщество Unreal Engine 4

Так работает автоэкспозиция. Отключить её совсем или настроить можно через постпроцесс. Для отключения выставьте минимальное и максимальное значение одинаковым в разделе экспозиции в настройках постпроцесса. Убедитесь, что вы попадаете в объем постпроцесса, либо что он бесконечный (галочка Unbound). Что-то еще узнать по этой теме можно прогуглив “auto exposure unreal engine”.

Как убрать eye adaptation ue4. 1*WJsfpAaEf4neivM8tB2 wA. Как убрать eye adaptation ue4 фото. Как убрать eye adaptation ue4-1*WJsfpAaEf4neivM8tB2 wA. картинка Как убрать eye adaptation ue4. картинка 1*WJsfpAaEf4neivM8tB2 wA. Русскоязычное сообщество Unreal Engine 4

Объекты исчезают при отдалении камеры.

Как убрать eye adaptation ue4. 1*C8Mm7NR8tNTSdgACH1d5Dg. Как убрать eye adaptation ue4 фото. Как убрать eye adaptation ue4-1*C8Mm7NR8tNTSdgACH1d5Dg. картинка Как убрать eye adaptation ue4. картинка 1*C8Mm7NR8tNTSdgACH1d5Dg. Русскоязычное сообщество Unreal Engine 4

Импортирую меш, а он раздельными кусками в движке. Как импортировать одним мешем?

Самым лучшим решением будет объединить меш в любом 3D пакете, но, если такой возможности нет, то в окне импорта нужно поставить галочку Combine Meshes.

Как убрать eye adaptation ue4. . Как убрать eye adaptation ue4 фото. Как убрать eye adaptation ue4-. картинка Как убрать eye adaptation ue4. картинка . Русскоязычное сообщество Unreal Engine 4

Импортирую меш, а пивот не там, где в 3д пакете.

Сбросьте позицию модели в 0.0.0. в 3D редакторе, чтобы ось координат и пивот совпадали, тогда он импортируется корректно.

Как убрать eye adaptation ue4. . Как убрать eye adaptation ue4 фото. Как убрать eye adaptation ue4-. картинка Как убрать eye adaptation ue4. картинка . Русскоязычное сообщество Unreal Engine 4

Можно ли поменять пивот в движке?

Конечно проще и лучше сделать это изначально в 3D редакторе, но если вам этот способ не подходит, то можно делать так или так.

А что насчет целых сцен? Как импортировать разом сцену, сохраняя и пивоты объектов и позиции?

Импорт целых сцен разом — кейс нетривиальный. С дефолтными настройками импорта у вас сохранятся позиции на сцене, но пивотом у всех объектов станет 0.0.0 сцены.

Как убрать eye adaptation ue4. 1*LK8kq27J fYgpmoccdBGVw. Как убрать eye adaptation ue4 фото. Как убрать eye adaptation ue4-1*LK8kq27J fYgpmoccdBGVw. картинка Как убрать eye adaptation ue4. картинка 1*LK8kq27J fYgpmoccdBGVw. Русскоязычное сообщество Unreal Engine 4

Если при импорте убрать галочку Transform Vertex to Absolut, то у каждого объекта будут сохранены пивоты, но позиции на сцене не сохранятся.

Как убрать eye adaptation ue4. 1*5tyVEjbFXjLebu2DYIMCiA. Как убрать eye adaptation ue4 фото. Как убрать eye adaptation ue4-1*5tyVEjbFXjLebu2DYIMCiA. картинка Как убрать eye adaptation ue4. картинка 1*5tyVEjbFXjLebu2DYIMCiA. Русскоязычное сообщество Unreal Engine 4

Чтобы сохранить и позиции и пивоты объектов, можно импортировать сцену через File — Import Into Level. Пивоты объектов сохранятся, а сами объекты будут расставлены на уровне как в 3D пакете. Так же там есть опция импортировать сразу как отдельную сцену в блюпринт акторе.

Источник

Физически корректное освещение в UE4

Даниил Лихоманов — автор и основатель курсов по UE4 Unrealskills — рассказывает о тонкостях физически корректного освещения в Unreal Engine 4.

Это — результат исследования движка, поиска оптимального пайплайна настройки света с физически корректными данными. На момент моего исследования (лето 2019) в сети не было руководства о физическом свете, удалось раскопать только это видео с аналогичными догадками.

Сейчас уже есть весьма неплохой пайплайн с блупринт-хелпером, с которым я буду сравнивать собственный подход. Забегая вперёд скажу: судя по всему, мне удалось попасть в точку (сравнивая мой подход и второе видео). В конце я обозначу и сравню тонкости обоих вариантов.

Что такое Physically-Based Lighting (PBL) в контексте настройки движка?

Использование PBL даёт

Реальный мир

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

У фотокамер за это отвечает экспозиция: выравнивает яркость в зависимости от освещения. Обычно под каждую сцену подбирают свои значения экспозиции. Профессиональные фотографы ставят параметры для кадра исходя из опыта. Таблицы с примерными числами экспозиции под разные сцены можно найти на тематических форумах и википедии (ссылка ниже).

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

Люмены, люксы и канделы — единицы измерения света в реальном мире.

Представим, что свет — поток воды. Есть кран (источник света), из него течёт вода (свет). Пусть мы льём обычной струёй воды силой в 500 люмен, то есть 500 Люмен воды выходит из крана за единицу времени. Рукой мы можем ощущать напор. Если мы сохраним 500 Люмен, но будем разбрызгивать их через душ, напор будет ощущаться гораздо слабее. Люмены — это сколько света выходит из источника.

Что касается Кандел — напор воды из крана и из душа будет ощущаться одинаково. Кандела — единица измерения, привязываемая к площади распространения. Таким образом, если мы зафиксируем 500 Кандел, при увеличении угла освещения увеличится и сила света. Другими словами, больше угол — больше испускаемого света. Канделы = напор.

Люксы. Или что нам на самом деле понадобится для стыковки реальности и виртуального освещения. Хотя Люмены и Канделы тоже не забудем.

Запомним соотношение: 1 лк = 1кд/м2

Люксы — количество света, принимаемого поверхностью, освещённость. От значений в люксах мы будем отталкиваться, чтобы переносить реальное освещение в параметры освещения UE4, потому что другими способами это выйдет крайне неточно или вообще не получится. Я пробовал ☺.

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

Скачайте приложение, которое выдаёт значения в люксах. Photo Friend — хороший вариант, потому что рекомендует оптимальное значение EV100 (о нем позже), которое нам понадобится внутри движка. Приложения надо искать по запросу Lux meter.

Как убрать eye adaptation ue4. 2. Как убрать eye adaptation ue4 фото. Как убрать eye adaptation ue4-2. картинка Как убрать eye adaptation ue4. картинка 2. Русскоязычное сообщество Unreal Engine 4

Если вы пройдётесь по квартире или улице, держа телефон горизонтально, то получите значения освещённости той точки, где держите смартфон. Я проводил замеры телефоном для сопоставления результатов внутри движка. В UE4 есть аналогичная возможность измерять люксы в разных частях сцены — именно так мы будем сравнивать реальные и виртуальные значения.

Выше — значения, которые я замерил вручную, ниже — таблица с примерными значениями в разных условиях. Можно ориентироваться на эти числа при настройке.

Как убрать eye adaptation ue4. table. Как убрать eye adaptation ue4 фото. Как убрать eye adaptation ue4-table. картинка Как убрать eye adaptation ue4. картинка table. Русскоязычное сообщество Unreal Engine 4

Экспозиция и число EV100

Второй параметр, от которого зависит точность настройки света — экспозиция в сцене. Правильно выставленный свет даст корректное освещение по интенсивности, а правильно подобранный EV100 — корректное отображение кадра с этим освещением.

EV100 — это число экспозиции, которое используется для ее настройки.

Оно объединяет в себе 3 основные настройки камеры:

Как убрать eye adaptation ue4. 3. Как убрать eye adaptation ue4 фото. Как убрать eye adaptation ue4-3. картинка Как убрать eye adaptation ue4. картинка 3. Русскоязычное сообщество Unreal Engine 4

Рекомендую просто использовать таблицу EV100 из википедии.

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

Итак, с реальностью более-менее разобрались. Теперь можно погружаться в движок и искать точки соприкосновения.

Для тестов будем использовать простой плейн с белым материалом. Параметры RGB (1,1,1), без отражений (Roughness=1, Metallic=0). Чисто белый цвет нужен, чтобы считывать освещенность без потерь, т.е. получать действительные значения.

Как убрать eye adaptation ue4. 4. Как убрать eye adaptation ue4 фото. Как убрать eye adaptation ue4-4. картинка Как убрать eye adaptation ue4. картинка 4. Русскоязычное сообщество Unreal Engine 4

Как убрать eye adaptation ue4. 5. Как убрать eye adaptation ue4 фото. Как убрать eye adaptation ue4-5. картинка Как убрать eye adaptation ue4. картинка 5. Русскоязычное сообщество Unreal Engine 4

Pixel Inspector дает информацию о пикселе под курсором. Инструмент начнет работу при нажатии кнопки с лупой. Нажав Esc можно заморозить значения в окне.

В Unreal Engine 4 для измерения освещённости поверхности используется параметр Luminance — количество отражённого поверхностью света. Найдите его в разделе HDR в Pixel Inspector’е.

Вот формулы, которые нужны для связки движкового Luminance и реального LUX (пожалуй, самая важная часть статьи!):

Откуда берётся число π? Здесь самая заковыристая часть, без которой ничего не срастется.

Задача: сопоставить значения из таблиц освещённости или телефонного приложения со значениями внутри движка.

Решение и объяснение: Замеряя значения Luminance внутри движка, получаем освещённость конкретной точки на поверхности. Скажем так: тыкаем в пиксель и получаем освещённость, которая пришла в этот пиксель с поверхности.

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

Luminance * 3.14 = LUX

Для измерения Luminance в движке используем абсолютно белый Plane без отражений, как уже было сказано.

Как убрать eye adaptation ue4. 6. Как убрать eye adaptation ue4 фото. Как убрать eye adaptation ue4-6. картинка Как убрать eye adaptation ue4. картинка 6. Русскоязычное сообщество Unreal Engine 4

Замеряем, кстати, запечённый свет, SkyLight — Static, Directional Light — Stationary.

Чтобы получать корректные значения и дальше необходимо выставить 2 параметра в настройках проекта и перезапустить редактор:

Как убрать eye adaptation ue4. 7. Как убрать eye adaptation ue4 фото. Как убрать eye adaptation ue4-7. картинка Как убрать eye adaptation ue4. картинка 7. Русскоязычное сообщество Unreal Engine 4

Extend Default luminance in Auto Exposure settings — после этой настройки в параметрах автоэкспозиции постпроцессинга Min Brightness и Max Brightness можно будет указывать именно число EV100 вместо количества света, как есть по умолчанию.

Apply Pre-exposure before writing to the scene color — обеспечивает поддержку HDR-значений освещенности, сверхяркие участки не будут обрезаться/clamp’иться.

Как убрать eye adaptation ue4. 8. Как убрать eye adaptation ue4 фото. Как убрать eye adaptation ue4-8. картинка Как убрать eye adaptation ue4. картинка 8. Русскоязычное сообщество Unreal Engine 4

Как убрать eye adaptation ue4. 9. Как убрать eye adaptation ue4 фото. Как убрать eye adaptation ue4-9. картинка Как убрать eye adaptation ue4. картинка 9. Русскоязычное сообщество Unreal Engine 4

Алгоритм действий

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

Исходные материалы

В сцене есть:

Как убрать eye adaptation ue4. 10. Как убрать eye adaptation ue4 фото. Как убрать eye adaptation ue4-10. картинка Как убрать eye adaptation ue4. картинка 10. Русскоязычное сообщество Unreal Engine 4

В настройках вьюпорта отключаем GameSettings в разделе Exposure, отключаем автоэкспозицию в ProjectSettings->Rendering.

Как убрать eye adaptation ue4. 11. Как убрать eye adaptation ue4 фото. Как убрать eye adaptation ue4-11. картинка Как убрать eye adaptation ue4. картинка 11. Русскоязычное сообщество Unreal Engine 4

Устанавливаем число EV100 в соответствии с окружением на HDR карте.

Здесь как раз необходимо найти референсы в интернете или посмотреть табличные данные. Для ракурса и HDR’ки, которую я выбрал подойдёт значение EV100=12..13, оно соответствует съёмке в яркий солнечный день.

Увеличиваем интенсивность материала на SkySphere до момента, когда вам всё понравится.

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

Как убрать eye adaptation ue4. 12. Как убрать eye adaptation ue4 фото. Как убрать eye adaptation ue4-12. картинка Как убрать eye adaptation ue4. картинка 12. Русскоязычное сообщество Unreal Engine 4

На этом этапе хочу сослаться на второе видео из шапки статьи. Движок работает в линейном пространстве цветов и только потом применяет гамма-коррекцию к изображению, которое вы видите. Этот «фильтр» называется Tonemapper. По умолчанию гамма = 2.2, что соответствует фотографичным требованиям (субъективная оценка реалистичности получаемого изображения). Тем не менее, автор видео предлагает изменять значение до 3, либо регулировать его вручную. Введите через командную строку r.TonemapperGamma 3.0, совет хороший. При значении r.TonemapperGamma=0 будет значение 2.2. Не путайте с регулировкой Gamma в разделе PostProcessVolume->ColorGrading. Это изменения, которые пойдут поверх Tonemapper’а, я бы их вообще не трогал в контексте физического освещения.

Копируем значение интенсивности из материала в SkyLight.

Как убрать eye adaptation ue4. 13. Как убрать eye adaptation ue4 фото. Как убрать eye adaptation ue4-13. картинка Как убрать eye adaptation ue4. картинка 13. Русскоязычное сообщество Unreal Engine 4

Запекаем сцену и проверяем через Pixel Inspector значения Luminance на нашем тестовом плейне.

Как убрать eye adaptation ue4. 14. Как убрать eye adaptation ue4 фото. Как убрать eye adaptation ue4-14. картинка Как убрать eye adaptation ue4. картинка 14. Русскоязычное сообщество Unreal Engine 4

Пока что мы работаем с непрямым освещением, т.е. должны получить значения, которые соответствуют освещённости в тени.

Мои замеры были такими:
На улице:
В тени — 8-12 тыс. лк
На солнце — около 42 тыс. лк

В помещении:
У окна в тени — 3 тыс. лк
Посреди комнаты — 200 лк
4м от окна — 70 лк

Значение Luminance получилось около 10000, что соответствует около 31400 лк.

Нам надо добиться того, чтобы получилось 8-12 тыс. люксов (замер в тени), т.е. раза в три меньше. Luminance должно получиться около 3-3.5 тысяч. Для отправной точки так же можно пользоваться табличными данными, взяв, к примеру, освещённость в пасмурный день.

Как убрать eye adaptation ue4. 15. Как убрать eye adaptation ue4 фото. Как убрать eye adaptation ue4-15. картинка Как убрать eye adaptation ue4. картинка 15. Русскоязычное сообщество Unreal Engine 4

Значение 6500 для SkyLight с нашей HDR’кой получилось оптимальным для нужных цифр. К слову, значения интенсивности SkyLight указываются в cd/m2, что некорректно, ведь это множитель, а не сила света. Так что на это можно не обращать внимание.

Теперь настраиваем Directional Light.

Можно поступить двумя способами:

Цель — выставить такую интенсивность для солнца (Directional Light), чтобы она соответствовала табличным данным, либо, что будет лучше, соответствовала изображению вокруг, которым засвечивается сцена. Поэтому первый вариант — вручную методом тыка подобрать такую интенсивность, чтобы получить нужные 42 тыс. люксов, опираясь на табличные данные или свои измерения. А второй вариант опирается на HDR-карту таким образом, чтобы можно было примерно посчитать интенсивность света в тени, на солнце с фотографии и сопоставить с текущими значениями в тени, уже в сцене движка, чтобы получить необходимые числа для интенсивности на солнце, чтобы эта интенсивность соответствовала не табличным данным, а конкретно сейчас используемому изображению.

В любом случае нам надо иметь некоторое значение освещённости. Либо сразу из таблицы его берём (вариант а), либо сперва высчитываем и получаем вручную (вариант б). Сейчас используем второй вариант, потому что он подольше, интереснее и гипотетически точнее.

Как убрать eye adaptation ue4. 16. Как убрать eye adaptation ue4 фото. Как убрать eye adaptation ue4-16. картинка Как убрать eye adaptation ue4. картинка 16. Русскоязычное сообщество Unreal Engine 4

Таким образом, получается, что на свету должно получиться в 2600/715 = 3,63 раза светлее, чем в тени.

В тени Luminance показывает 3458, значит на свету должно быть 3458*3,63=12552.

Подобрав подходящее значение для Directional Light (Stationary) запекаем сцену еще раз. У меня интенсивность получилась 37200 Lux. Сравниваем значение с табличным для самопроверки.

Как убрать eye adaptation ue4. 17. Как убрать eye adaptation ue4 фото. Как убрать eye adaptation ue4-17. картинка Как убрать eye adaptation ue4. картинка 17. Русскоязычное сообщество Unreal Engine 4

После запекания значения станут немного выше, т.к. в просчёте участвуют и отскоки тоже. Эти изменения несущественны.

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

Отмечу, что если бы я использовал собственные значения 42 тыс. лк, яркость солнца пришлось бы увеличивать. Думаю, что вариант с пропорцией более точный, если отталкиваться от HDR-текстуры.

Копирую источники света, постпроцесс и скайсферу из этой сцены в сцену с помещением.

Значения Luminance внутри помещения получились такими:

Как убрать eye adaptation ue4. 18. Как убрать eye adaptation ue4 фото. Как убрать eye adaptation ue4-18. картинка Как убрать eye adaptation ue4. картинка 18. Русскоязычное сообщество Unreal Engine 4

По правде говоря, значения не слишком информативны, так как на них влияет цвет стен, объекты рядом и другие факторы. Единственное, что можно проследить — примерные соотношения с реальными значениями, если замерить телефоном в похожем помещении.

Тонкости и нюансы

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

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

В видео для настройки непрямого освещения используется произвольный участок на небе/HDR’ке и табличные данные солнечного освещения. Обычно небо имеет большой диапазон яркости и солнце может светить по-разному, в том числе в зависимости от наклона лучей. Так что мой вариант, вероятно, точнее, хотя эта точность вряд ли кому-то нужна, ведь она требует больше времени и усилий.

Автор видео дает специальный тулкит для измерения освещённости, но на произвольном участке HDR’ки (какой участок выберете — так и будет освещаться, можно и не угадать). Именно из-за этого получается, что несмотря на крутость тулкита освещение будет зависеть от того, насколько повезёт выбрать подходящий участок для вычислений. Но отрицать, что работать с ним действительно быстрее и проще я не могу =).

В общем и целом рекомендую самостоятельно попробовать оба варианта настройки и посмотреть, чем они отличаются.

Надеюсь, было интересно копнуть в Unreal Engine 4, и какой-то материал вы сможете использовать себе на благо. Всем яркого и тёплого солнца!

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *