Unreal engine 4 свет. Стремление к фотореализму в реальном времени в архитектурной визуализации (перевод). Unreal-Engine_4. Смешивание текстур в материалах

Скачать на Телефон 27.03.2019
Скачать на Телефон

Вы можете импортировать текстуры с помощью кнопки «Импорт» в контент браузере. Unreal 4 поддерживает большое разнообразие форматов текстур: от.tgas и.png до.psds и.jpg. Один важный совет - убедитесь, что normal maps сжаты как TC Normalmap, чтобы избежать визуальных ошибок в движке. Также имейте в виду, если разрешение вашей текстуры не кратно двум (например 1024х349), они не запустятся или будут лишены свойств MipMap.

  1. Сохранение памяти: текстуры Channel-pack

Одна из особенностей Unreal - это большой объем контроля, который вы получаете, создавая свои собственные материалы. Когда вы создаете несколько черно-белых масок для текстур, таких как roughness или transmission, вы можете сэкономить память, спрятав каждую маску в отдельный канал R,G или B, а затем получив доступ к каждому каналу этой текстуры отдельно.

  1. Физически корректный рендеринг

С появлением новых возможностей рендеринга в движках, таких как Unreal 4, широкую популярность получил физически корректный рендеринг.

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

  1. Повторное использование текстуры

Еще одним удивительным элементом Unreal 4’s Material Editor является то, что он позволяет повторное использование текстуры. Это поможет вам не только сохранить память, но и сэкономить время. Иногда red channel из rock albedo texture можно использовать как черно белую маску для roughness. Текстуру черепицы из Photoshop можно легко наложить на кирпич, а также смешать с другой текстурой для наложения на другие элементы.

  1. Не накладывайте ненужных текстур

Иногда определенные текстуры не нужны. Для 100% неметаллических материалов, таких как древесина или грязь, текстура металла может быть заменена в Material Editor простой константой с плавающей точкой и значением 0. Этот же принцип можно применить для нескольких версий одного и того же материала. Вам не нужны отдельные normal maps, например, для трех разновидностей кирпича, отличающихся по цвету. Можно использовать одну normal map для всех.

  1. Создание набора основных материалов

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

  1. Повторное использование материала

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

  1. Комментарии и организация материалов

Для сложных материалов Unreal 4 предлагает очень полезные организационные инструменты. Выбор группы нод и нажатие C помещает эти ноды в комментарий, который затем можно перемещать как группу и кодировку цвета. Комментарии (и отдельные ноды) могут содержать базовые текстовые пояснения.

  1. Функции материалов

Функции материалов можно вызвать несколько раз для выполнения определенного набора инструкций. Они создаются вне материала в Content Browser, но затем могут быть вызваны, чтобы упростить их. Они могут содержать свой собственный inputs и могут стать отличным способом сэкономить время, когда нужно вызвать несколько повторяющихся операций.

  1. Материалы листьев

Листва может быть одной из самых сложных вещей, т.к. совсем не просто обеспечить ее правильное отображение в любом игровом движке. В UE4 версии 4.18 существует Foliage Shading Model, которая упрощает эту задачу. Я настоятельно вам ее рекомендую, поскольку она поддерживает передачу подповерхностного слоя, что в большинстве случаев дает преимущества. Кроме того, советую добавить sky light к вашей сцене, чтобы помочь сбалансировать некоторые более темные области сетки листвы, которые могут быть в тени.

  1. Vertex colour

Доступ к цветам Vertex в материалах - одна из моих любимых функций в Unreal 4. Они могут быть невероятно мощными при творческом подходе. От ambient occlusion до masking out wind и world offset для листвы - их универсальность колоссальна. Они особенно полезны при смешивании текстур. Vertex colors можно импортировать из внешнего программного обеспечения 3D или импортировать и нарисовать в редакторе.

  1. Детализированные diffuse и normal

Так как вы можете настроить параметры текстурирования ультрафиолетового излучения, вы можете увеличить детали материала путем смешивания в дополнительном наборе текстур. Обычно это diffuse или normal maps, которые затем поочередно накладываются поверх базовых. Вы можете использовать любой удобный для вас метод, например, такой как Overlay Blend Function, в то время как подробные normal maps могут быть применены путем добавления красного и зеленого каналов к основанию.

  1. Смешивание текстур в материалах

Хотите объединить текстуры в material editor, но знакомы только с режимами смешивания Photoshop? Epic превзошел все ваши ожидания. Наряду со многими полезными функциями материалов он включает в себя большинство режимов смешивания, с которыми знакомы все пользователи Photoshop. От Overlay до Linear Dodge их можно найти в окне палитры внутри Material Editor. Они могут быть особенно полезными для добавления деталей к вашим материалам.

  1. Знание типов источников освещения

Unreal предлагает четыре различных типа света для использования в окружающей среде: Directional, Point, Spot, и Sky light. Свет Directional отлично подходит для наружных зон или любого необычного источника света. Свет Point является всенаправленным, а Spot похож на него, но имеет ограничения, определенные конусом. Sky light может использоваться для добавления света в окружающую среду, захватывая отдаленные части вашей карты. Поддерживаются также пользовательские Cubemaps.

  1. Добавление тумана к вашей сцене

Существует стандартный способ создания всем нам известного обычного плотного тумана. Unreal 4 же предлагает два других способа добавить туман к вашей сцене. Atmospheric Fog реагирует на направленный угол освещения и интенсивность. Он может создать туман, основанный на реальном рассеянном атмосферном свете. Height Fog дает немного больше контроля цвета и позволяет добавить более простой эффект тумана, который становится менее плотным в верхних частях карты и более плотным в нижних частях.

  1. Создание умных световых валов

Световые лучи или « God rays » могут быть мощным визуальным инструментом и создаваться частицами в воздухе, освещенном определенными источниками света. В Unreal 4 они могут быть созданы несколькими способами. Наиболее распространенный способ заключается в том, чтобы позволить им использовать свойства направленного света. Они также могут быть выполнены с использованием геометрии и умных материалов.

  1. Съемки с высоким разрешением

Хотя пользовательские видео разрешения могут быть выведены из Matinee, есть быстрый и простой способ сделать кадры в высоком разрешении прямо из редактора. Нажав на маленькую нисходящую стрелку в левом верхнем углу вашего Viewport, вы можете открыть небольшое раскрывающееся меню. Внизу можно открыть окно High Resolution Screenshot window. Оттуда снимки в высоком разрешении могут быть захвачены и отправлены в папку вашего проекта: project/saved/Screenshots folder.

  1. Корректировка цвета и таблицы поиска

Финальные цвета рендеринга можно настроить на основе художественных предпочтений. Хотя существуют опции для базовых настроек, таких как контраст и оттенок, пользовательская коррекция цвета может быть выполнена с использованием таблиц цветового поиска. Эти таблицы допускают сложное преобразование цвета и могут быть сделаны при помощи базового файла, доступного на сайте Epic Unreal 4 и в Photoshop, или в других программах для настройки изображений.

  1. Редактирование световых переходов и бликов

В играх и 3D стало популярным отображать световые переходы и блики, их можно включить и настроить в UE4, используя специальные зоны постобработки - post-process volumes. Световой поток настраивается практически по всем характеристикам. Размер, цвет, интенсивность и порог можно изменить и даже использовать их для маскировки текстур грязи и имитации грязных линз. Аналогично, вспышки также могут быть включены, а их форма и интенсивность регулируются.

  1. Создание глубины резкости

Unreal 4 поддерживает как резкость по Гауссу, так и настраиваемую. Оба эти параметра существуют в настройках Post Process Volumes. Следует также отметить, что инструменты, которые помогают с размытием тонких объектов перед удаленными, иногда могут создавать проблемы. Нужно проявлять осторожность в применении глубины резкости, например, к листве или другим подобным элементам.

  1. Автоэкспозиция и адаптация глаз

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

  1. Световые функции

Одна интересная особенность в Unreal 4 - поддержка материалов с функцией освещения. Эти материалы действуют как маски для света и могут использоваться, чтобы сделать что-либо: от пользовательских цветовых вариаций в свете до облачных теней на земле. Они создаются путем установки функции Material Domain to Light в Material Editor, их можно использовать при spot, point и directional lights.

  1. Сэкономьте время, скопировав и вставив

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

А самое крутое - это то, что все, что скопировано из Unreal, можно вставить в текстовый документ. Затем этот текст можно скопировать и повторно вставить на другой уровень Unreal 4.

  1. Режим просмотра и визуализация рендер пасов

Знание того, что составляет ваш образ, является неотъемлемой частью работы в любом 3D-движке и работает в отложенном рендерере, например, UE4 позволяет использовать некоторые полезные режимы просмотра. Нажатие Alt и 1-8 переключается между различными режимами просмотра, такими как Unlit или lighting only, но если вы нажмете кнопку View Mode в окне Viewport, вы можете просмотреть отдельные рендер пасы. Это может быть полезно для просмотра широких диапазонов материалов, таких как roughness.

Хотя Unreal невероятно мощный, не каждая рабочая станция создается одинаково. Если вы столкнулись с проблемами производительности движка, первое, что нужно включить, - это параметры масштабирования движка в «Setting» на панели Editor Toolbar. Отключение некоторых параметров, таких как сглаживание, может действительно ускорить работу. Другой трюк состоит в том, чтобы группировать множество объектов в world outliner. Затем вы можете переключать их видимость, чтобы улучшить производительность.

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

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


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

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

Только! для 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: Количество каскадов на которое будет делится фрустум.Больше каскакодов- лучше качество, но и ресурсоёмкость возрастает.
Внимание! обязательно тыкните в ссылочку ниже, ибо наверняка не все знают что такое фрустум.

Количество каскадов = 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

Shadow Bias = 0.5 (Дефолтное значение)

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

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

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

Filter Sharpen = 0

Filter Sharpen = 1


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

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


Динамическое освещение, в частности точечные ИС,могут создавать проблемы такого рода.Unreal Engine 4 достаточно хорошо справляется с подобной оптимизацией, поэтому вам не стоит сильно об этом волноваться.Но иногда возникает подобная проблема и метод её решения не всегда очевиден.

Результат который мы хотим.Камера в близи.

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

Что же делать?

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

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

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

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

Местонахождение 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 в редакторе

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

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.

Здесь вы можете видеть множество настроек того, как освещение будет реагировать в вашей сцене.Для GI мы сфокусируемся лишь на “Num of Indirect Lighting Bounces”. Ползунок ограничен в пределах от 1 до 4.Но вы можете установить любое значение просто вписав его туда

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

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

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

0 отскоков

1 отскок

2 отскока

3 отскока

100 отскоков

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

Почему тени пятнистые или как избавится от загрязнения лайтмап?
Пятна, загрязнения, ну или как вы там это называете, не суть;данная ошибка часто возникает при использовании статического освещения в ue4.Не стоит паниковать, ведь исправить это можно через настройки лайтмасс.
Первое что приходит на ум- это то, что это связанно с непрямым освещением от отскоков GI при построении лайтмасс.
Что бы показать как это наиболее эффективно исправить, будем использовать 2 комнаты в качестве примера.

Экстерьер

Интерьер

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

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

Интерьер 1й комнаты,освещается прямым светом с одним отскоком.

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

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

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

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

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

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

World Settings находится тут:

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

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

Настройки по умолчанию

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

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

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

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

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

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

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

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

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

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


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

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


Когда вам требуется запечь освещение в необходимом качестве, вы можете выбрать качество перейдя во вкладку Build>Lighting Quality>выбрать нужное качество.
По умолчанию качество установлено в Preview .Данный уровень качества быстрее при просчёте нежели Production , но не столь аккуратное.

Превью

Среднее

Высокое

Продакшн

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

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

Качество освещения

Превью

Среднее

Высокое

Продакшн

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


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

Введение

Меня зовут Лассе Роде, и я представитель студии xoio. Мы небольшое агентство, специализирующееся на визуализации и иллюстрации работ по архитектуре и маркетингу.Обычно мы работаем в своего рода «традиционной» 3d среде с использованием приложений, таких как 3ds Max и подобным. Мы постоянно тестируем новые «движки» рендеринга и в настоящее время отдаем предпочтение Corona Renderer, V-Ray и Octane. Каждый «движок» имеет свои сильные стороны и мы всегда стараемся использовать каждый для своих целей.По моему мнению есть несколько основных направлений в нашей отрасли: стремление к фото реализму и быстрому результату – если речь не о режиме реального времени. Не ждать когда результат будет готов на рендер-ферме всегда было мечтой для нас — особенно при создании анимации!Основным недостатком «реального времени» долгое время было недостаточное качество по сравнению «pre-rendered» изображениями и анимацией. Так что, хотя это выглядело очень интересно, ее применение в контексте визуализации, казалось, трудно себе представить, — и, честно говоря, выглядящее «игровым» было трудно продать требовательным клиентам из архитектурных и корпоративных областей.Но все резко изменилось. Результаты созданные в «движках реального времени» сегодня очень красивы и убедительны!

Почему Unreal Engine?

В релизe UE4 было уделено очень много внимания в нашей индустрии и возможности казались безграничными. PBR (Физический рендеринг) система материалов и простая последовательность действий для создания модели в Unreal Engine было наиболее веской причиной для нас, чтобы попробовать –ведь это возможность получить дополнительное качество! Если вы видели работу Koola (также доступен для скачивания в Unreal Engine Marketplace), которыая стала «виральной» несколько недель назад — вы, вероятно, также убедитесь, как и мы, что Unreal Engine 4 способен на впечатляющее качество.В этой статье я хочу дать вам краткую информацию о рабочем процессе, для создания сцены в Берлинской Квартирe,которую вы можете загрузить с Marketplace (фирменный магазин Unreal) и увидеть некоторые методы и приемы на которые я наткнулся во время работы над данной сценой. Некоторые из них я нашел самостоятельно, в то время как другие являются производными от информации, которую я нашел в Интернете. В Unreal Engine форумы и документация являются обширными и объемными ресурсами, как и основной контент, который поставляется с «движком» и наборами сцен, которые вы можете получить из Marketplace.

Берлинская квартира

Я создавал серию изображений этой квартиры в историческом здании в Берлине начиная с 2013 года с помощью 3ds Max с Corona Renderer. Это гибкий способ обработки цветового отображения, которое действительно помогло раскрыть светлое настроение этой сцены. Также это было причиной выбора для тестирования UE4.Я заметил, что UE4 весьма успешно используется в сценах с мрачным освещением и шумными текстурами. Я подозревал, что это будет не так просто получить точную тень и GI (Global Illumination) в ультра белом интерьере.И, честно говоря: Это непростая задача!

Рис 1.

Выше – оригинальный рендер сделанный в 3ds Max и Corona Renderer. Для того, чтобы увидеть остальные изображения, нажмите .

Ниже видео готовой сцены

Начну с начала:

Оригинальная Сцена Моделирование было сделано в 3dsmax в спешке. Так что я на самом деле подробно остановлюсь только на тех частях, которые отражены в финальных изображениях. Этот подход, конечно, не возможен в средах реального времени. Для изменения назначения цели при использовании в Unreal Engine мне пришлось немного сократить масштабы, потому что меблировки и детализации всего пространства заняло бы слишком много времени для тестирования.


Рис 2

Я решил экспортировать только две комнаты: их вы видите на нижней части скриншоте выше.

Экспорт геометрии для Unreal Engine -это очень непростая задача, ЕСЛИ у вас несколько идей!Есть смысл разделить эти идеи на части. Потому Lightmass рассчитывается в отдельной карте для каждого объекта, это хорошо, чтобы быть немного осторожным с высокими значениями особенно на больших плоских объектах, таких как стены и потолок. Из-за этого я только экспортировал внутренние поверхности стен, которые мы на самом деле видим.Я также добавил немного к верхней и нижней части стен, чтобы пересечь их позже с потолком. Я думаю, что это хороший способ для предотвращения «световых протечек» — световые артефакты, проявляющиеся когда геометрия не закрыта или не пересекается. Это не проблема, когда это мрачная сцена с задействием большого количества текстур — но, так как мы хотим получить сверх-белое пространство,то важно создать точное GI (глобальное освещени), какое только возможно, особенно в углах.


Рис.3

Вторая важнейшая вещь — создать развертку скоординированную для канала GI, которая будет сохранена для просчета lightmass в UE. В 3ds Max это будет UV-канал 2.Канал 1 предназначен для использования всех других текстур, таких как диффузия, шероховатость, нормалей, и т.д. Unreal Engine рассчитывает каналы, начиная с 0, что может вызвать некоторую путаницу в начале — но как только вы это усвоите, то поймете,что это просто.Примечание: Сделать развертку важно только для канала карты света (light-map)! Для канала текстуры любой вид отображения может работать, например, кубический или цилиндрический. В большинстве случаев операция flatten mapping в 3ds Max модификатора Unwrap (получение развертки где порог, градус разворачивания можно задать) достаточно для получения UV координат.


Рис 4

Если вы хотите получить все объекты в сцене в UE4 как это было в вашей макс-сцене, то необходимо модготвоить модели, чтобы вставлять их на места где они были при экспорте. Для одиночных объектов, таких как стулья, удобно экспортировать в Unreal Engine один раз и копировать уже внутри. Для этого нужно подвинуть объекты ближе к центру в вашей 3ds Max сцене, потому что центр объекта (pivot) в UE будет там же.

Рис 5


Рис 6

Вы видите, я использую высокополигональную геометрию без LOD (уровень детализации) упрощения. Это, конечно, рекомендуется только в небольших сценах, таких как эта, но так как у меня есть опыт сглаживаня геомтерия, и я не хочу чтобы были какие-либо неровные края на моей мебели, то для меня это логично. Хотя я не сомневаюсь,что комната требует оптимизации;).Убедитесь, что ваша геомтрия будут объединены в один объект и элементы имеют различные каждый свой ID материал для обработки различных материалов позднее в UE4!Ну что же,сохраняйте геометрию в разрешении.fbx и переходите в редактор Unreal Engine! Импорт в Unreal Engine 4 Импорт FBX файлы в Unreal Engine 4 работает довольно гладко! Я делал это в несколько этапов.Я подготовил различные файлы, в таком порядке: — Геометрия комнаты в отдельном файле FBX. — Различные файл для моделей, каждый с несколькими объектами в них.Убедитесь, что сняли флажок Combine Meshes (Комбинировать геомтрию) для полученя ваших объектов раздельно и не объединые в один объект!

Рис 7

Материалы

Я весьма прямолинеен и большой поклонник простых установок! Так что пример шейдеров очень прост, состоит из карты диффузности, ненасыщен и смешан с черным цветом. Та же карта корректируется по цвету и инвертируется в канале roughness (шероховатости). Готово.


Рис 8

Normal map была бы здесь излишне, но не ограничивайте себя в исследовании материалов в сцене.


Рис 9

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


Рис 10

Вы должны установить Shading Model в «Subsurface» и добавить постоянную ноду со значением меньше, чем 1 и связать с свойством непрозрачности вашего материала, чтобы получить этот эффект.К стакану на переднем плане применен очень простой материал стекла:


Рис 11

Он имеет довольно темный цвет диффузии, нулевой roughness и высокое значение зеркальности. Я также применил Fresnel (эффект френеля-коэффициент преломления) ноду со значением 1,5 для контроля непрозрачности и преломления как в реале. Есть много более сложных способов получения более реалистичного стекла, — но я, честно говоря испытывал некоторые проблемы, чтобы получить контроль над параметрами, так что это простое стекло, кажется, достаточно хорошо получилось.Примечание: я выбрал Two Sided (Двустороний материал) и установил режим полупрозрачности освещениея «TLM Surface» на вкладке Details tab в панели слева.


Рис 12

Материал, который я хочу показать это материал который прменялся к полу, хочу показать потому что это единственный материал, к которому применен normal map


Рис 13

Здесь вы видите материал, с диффузным цветом, шероховатой текстурой и нормальной картой. Цвет светло-серый, со созначением 4Шероховатость выглядит немного сложнее: Слева вы видите ту же карту увеличенную в три раза отличную с TexCoord нодой. Красный канал умножается на другие, а затем подсоединяется как альфа в интерполяции ноды Linear (Lerp), чтобы смешать их значения. 0,3 и 0,2 в этом примере, получаем тонкое шумное отражение на полу досок. Затем дорабатываем с «Power» нодой, чтобы получить нужное количество шероховатости, и этот материал тоже вышел неплохо.Normal опять воздействием TexCoord, а затем развернута через «FlattenNormal» ноду, чтобы получить только тонкий рельеф на материале. Подготовка моделей Перед добавления объектов в вашу сцену, всегда лучше лучше раскидать материалы по геомтерии. Вы должны сделать это только один раз, и сможете применять различные материалы. Это быстрый процесс: Здесь вы видите, как важно применять различные ID материала для ваших объектов, чтобы расположить различные материалы там, где они и должны быть!


Рис 14

Построение сценыЕсли вкратце — импортируйте все вместе. Во-первых, вы должны перетянуть в комнату геометрию. Лучший способ, собрать сцену– перетащить и бросить (drag & drop) в пустую сцену.


Рис 15

Здесь не видино полигоны наружной части стен — как я объяснил выше: они только односторонние для лучшего Lightmass расчета.В таких случаях хорошо бы установить Lightmap (получаемая разверткой) разрешение для ваших больших объектов с высоким значением, для стен, например, я поставил значение 2048.

Рис 16

Как упоминалось выше, «световая протечка» может быть проблемой. Чтобы предотвратить это, я положил черные ящики вокруг всей сцены. Это выглядит немного неряшливо снаружи,но зато внутри чисто;)


Рис 17

Освещение и его параметры

Настройки освещения также довольно таки просты: я использовал «метод Koola» — сочетание солнца и пятен света в передней части окна, чтобы имитировать поток света. Это весьма эффективно и просто в управлении! Теперь для расчета глобального освещения важны только несколько настроек

Рис 18

Я существенно увеличил освещение отраженных лучей и качество освещения. Я также снизил сглаживание до 0,6. Детали очерчены лучше и тени не «стираются» так сильно.Также я настроил прямое освещение в динамической тени для получения лучших теней. Это также важно для движения света позднее в анимации!

Рис 19

Последним шагом перед нажатием «Создать» будет установка Качество Освещения (Lighting Quality) на «Производительность» (“Production”)

Рис 20

Это должно привести к сглаживанию освещения повсюду!Вообще-то,когда добрался до этого пункта в первый раз, я был в восторге! Это на самом деле сильная часть этого движка: приводить вас восторг! Будучи в состоянии двигаться внутри моего «рендера» в режиме реального времени был действительно радостный момент! Постобработка Одной из самых больших особенностей является возможность применения цветокоррекции и эффектов камеры прямо в редакторе. Это может быть сделано с PostProcessVolume в глобальных настройках. Я сделал несколько настроек по насыщению, окантовке и виньетированию, цветность и отключил автоэкспозицию путем установки минимального и максимального значения до 1 и увеличил общую яркость, установив компенсацию экспозиции в районе 1,42. Также добавил блик, который я нахожу удивительным,т.к всё происходит в режиме реального времени!


Рис 21

Настройка анимации Возможность свободно перемещаться внутри сцены делает анимацию очень легкой и приятной задачей из-за мгновенной обратной связи среды реального времени. Как частому пользователю программного обеспечения для композа, мне потребовалось не так много времени,чтобы приспособиться к интегрированным инструментам и настроить анимацию.Первое, что нужно сделать, это создание Matinee Actor (инстуметарий для создания последовательности видео)

Рис 22

При открытии Matinee вы увидите окно с секцией отслеживания и редактор кривых.


Рис 23

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


Рис 24

Вы можете видеть траекторию камеры только в редакторе и контролировать редактирование на лету!После того, как примерная анимация сделано в Matinee, я экспортирую анимацию как.AVI и доработавыю её в Premiere и подгоняю под музыку.

Заключение

Весь процесс, начиная от экспорта из 3ds Max и импорта в Unreal Engine 4, работа с тенью и освещением, создание анимации, а затем размещением на YouTube заняло у меня около суток. Эта скорость неслыханное в ArchVIZ и отражает ключевой потенциал, который лежит в основе использования Unreal Engine 4 для визуализации работ.Отсутствие визуализации на этапе «производства» изображений действительно делает процесс создания очень гибким и свободным. Быстрая рузельтат наших действий-настоящая революция!Мы постоянно тестируем и думаем о возможностях применения этого вида создания и технологического процесса в нашей повседневной работе.Есть много возможных применений, и мы очень хотели бы изучить их! Лассе, xoio


Работая над проектом, архитекторы и дизайнеры прибегают к такому способу подачи, как 3D визуализация. Чаще всего это статичное изображение, полученное с помощью визуализаторов vRay, MentalRay, Corona и других.

В данной статье речь пойдет о визуализации архитектурных проектов на движке Unreal Engine. Рассмотрим все плюсы и минусы, а также поделюсь своими впечатлениями и опытом на примере готового проекта:

Моделирование

UE4 принимает 3D модели в формате.obj и.fbx.

Моделировать и экспортировать объекты можно в любом 3D редакторе (3ds Max, Blender, Maya и пр.) Желательно, чтобы модель имела хорошую топологию и полигонаж в разумных пределах (если говорить об интерьерах, то основные объекты, такие как диван, кровать и др. не должны превышать 100 тысяч треугольников, т.к. это сильно сказывается на производительности). Лучше, конечно, делать ретопологию каждой модели вручную, но для достижения приемлемого результата можно обойтись и автоматическими средствами, программами или плагинами.

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

Материалы

Для построения логики в UE4 используют нодовую систему Blueprint . Она заменяет собой необходимость в программировании, но не исключает возможность писать на C++.

Ниже показаны основные шейдеры, используеммые в сцене, построенных на Blueprint :

Дерево:



Так-как для создания рельефных поверхностей движок требует только normal карту, то есть возможность процедурно создать эту карту из чёрно-белого изображения c помощью нода NormalFromHeightmap

Испачканный металл:



В данном примере была использована чёрно-белая карта, смешанная с числовыми значениями и применена в свойства Metallic и Roughness

Стекло:



На прозрачность материала влияет свойство Opacity, которое регулируется float нодом (значение от 0 до 1)

Далее приведены примеры четырёх основных свойств, которые определяют физическую природу материала. Объединение их вместе различными способами позволяет создавать практически любой возможный тип физической поверхности в реальном мире.

Base Color Metallic Specular Roughness

Освещение

В сцене используется три типа освещения:

После того, как все объекты и источники света были размещены, необходимо просчитать сцену:

Это некий аналог рендера, который просчитывает взаимодействия всех статичных источников света со статичными моделями. Проще говоря, отбрасывает и запекает тени.

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

Пример:

Интерактив

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

1. Открывание и закрывание двери
Рассмотрим простой вариант, когда дверь открывается автоматически, если приближается игрок и закрывается, если игрок отдаляется:

Сама дверь состоит из двух элементов: статичная модель дверного проёма и интерактивное дверное полотно, логика которого описана в Blueprint .

В компоненты чертежа входит статичная 3D модель дверного полотна и фигура Box , которая играет роль триггера:

Нодовая структура выглядит следующим образом:


Ноды OnComponentBeginOverlap и OnComponentEndOverlap отвечают за коллизию с триггером.
Timeline_0 - это анимация с функцией Float Track (New Track 0).
Make Rot создаёт вращение по любой оси, в данном случае по оси Z (Yaw).

Функция Float Track (New Track 0):


Значение от 0 до -90 градусов изменяется в течение 1 секунды

Нам остаётся скомпилировать Blueprint и добавить его в сцену, выровняв точно под дверной проём.

2. Звуковые эффекты
Вы можете оживить ваш проект, добавив в сцену Ambient Sound . Например, пустить ненавязчивую музыку на задний план или добавить звуковой эффект при открывании/закрывании дверей.

3. Постобработка
В широком смысле, постобработка - это все то, что происходит после основных действий по построению изображения.
Выполнить постобработку вы можете либо в камере, либо блоком Post Process Volume , добавив его в проект и корректируя габариты. Войдя в этот блок, начнётся процесс постобработки.

К примеру, блок Post Process Volume с увеличенной яркостью рекомендуется ставить в плохо-освещённые помещения:

Так Post Process Volume выглядит в сцене:

Unreal Engine 4 поддерживает множество эффектов для постобработки, далеко не все они могут вам пригодиться, но некоторые из них я перечислю:

  • Vignette (Виньетка) - затемнение или осветление краёв кадра
  • Depth of Field (Глубина резкости) - всё, что находится ближе или дальше дистанции фокусировки, постепенно теряет резкость и размывается
  • Bloom (Свечение) - засвет, получаемый от ярких источников освещения
  • Lens Flare (Блик) - воспроизводит эффект преломления солнечных лучей в объектив камеры
  • Film (Шум) - даёт анимированный шум, имитируя плёночную кинокамеру

Подведём итоги

Несмотря на кажущуюся сложность работы, редактор Unreal Editor 4 выглядит приветливым. А с ростом производительности компьютерного оборудования GPU рендер может изменить традиционный подход к работе визуализаторов, дизайнеров и архитекторов.

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

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

Подготовка сцены

Сначала настраиваем Light Map Resolution всех объектов на сцене. Для игр обычно разрешение Light Map оставляют синего или увеличивают до зеленого цвета (если смотреть в режиме Lightmap Density). Но нам придется делать максимально большую Light Map, так как мы будем использовать только статический свет. Например, для комнаты я ставлю разрешение Light Map от 1024 до 2048, для стола — 512-1024. Если разрешение недостаточное, появляются "пиксельные" тени, а нам этого не надо. Самое главное  —  найти баланс между хорошим результатом и не перегруженной билдатой. Лучше избегать размера билдаты больше 512 Мб, иначе могут быть проблемы с компилированием экзешника.

Mode Lightmap Density

Размещаем на сцене Box Reflections, Lightmass Portals, Lightmass Importance Volume.

Box Reflections ставим в каждую комнату по ее размеру, чтобы получить отражения на полу и металлических объектах. Planar Reflection мы используем только на зеркалах, которые выносим в свой уровень и подгружаем потом через Level Streaming Volume, так как это сильно влияет на FPS. А в VR самое главное  —  стабильные 90 FPS!

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

Lightmass Importance Volume делаем максимально большим, чтобы он не пересекался с внешней оболочкой, иначе могут быть засветы на Movable объектах. Здесь главное экспериментировать с размером самого Importance Volume и количеством Volumetric Lightmap Detail Cell size. Мы используем значение Lightmap Detail Cell size в диапазоне от 25-50  —  большее количество может давать грубые переходы в черный, меньшее  —  дает эффект помятости.

Иногда есть проблемы с тем, что появляются проплешины (leaks) при построении Cells, тогда можно изменить в файле BaseLightmass.ini параметр MinBrickError=0.

Box Reflections, Lightmass Portals, Lightmass Importance Volume

Проверьте свои материалы в моде Shader Complexity . Если есть материалы светло-розового цвета  —  исправьте их.

Mode Shader Complexity

Освещение

Ставим сферу с материалом неба. Размер сферы приблизительно R=15000м. Материал делаем Unlit.

Материал для неба

Ставим на сцену SkyLight , делаем его Static. Отключаем в нем галочку Lower Hemisphere. Не забудьте настроить Sky Distance Treshhold, если его значение будет слишком большим, а внешняя сфера слишком маленькая, свет от SkyLight будет считаться некорректно, и вся сцена будет черной. Intensity оставляем единичку.

Ставим Post Process Volume . Отключаем Ambient Occlusion  —  он влияет на FPS, так как SSAO строится поверх изображения. Тонкие тени мы будем делать через настройки Lightmass. Настраиваем экспозицию. Все остальное я меняю по желанию после билда света, в основном это баланс белого и контраст.

SkyLight and Post Process Settings

Расставляем локальные источники света. Все светильники — статичные! Для большей реалистичности можно использовать значения температуры, как у реальных лампочек. 2700 Кельвинов  —  теплый белый, 4000 Кельвинов  —  прохладный белый.

DirectionalLight  —  в этой квартире мы решили не ставить солнце, чтобы получить более естественное для нашего климата освещение:) От SkyLight получается ровный рассеянный свет, что соответствует зимнему виду из окна. Но я оставлю ниже настройки солнца, которые обычно использую.

DirectionalLight

Lightmass Settings

  1. Static Lighting Level Scale . Этот параметр делает красивые собственные тени, но из-за него могут вылезти артефакты. Мы используем значение 0,2-0,3. Важно помнить, что чем значение ближе к 0, тем большее время занимает билд. Если хотите все супер красивое, используйте значение 0,1, но тогда билд займет больше времени, также нужно увеличить значение Indirect Lighting Quality.
  2. Indirect and Sky Lighting Bounces  —  мы ставим по 10 отскоков. Мне кажется, это оптимальное минимальное значение. Можно сделать Indirect Bounces = 100 и Sky Bounces = 15, но я не вижу значительной разницы между 100 и 10. Долго считаются только первые 3 отскока.
  3. Indirect Lighting Quality  —  мы используем значение 10, оно дает всегда хороший результат. Вообще считается, что перемноженные значения Static Lighting Level Scale и Indirect Lighting Quality должны равняться 1, я советую, по крайней мере, не использовать значения меньше.
  4. Indirect Lighting Smoothness . Можно не менять этот параметр, значение 0,75 делает картинку более четкой.
  5. Отключаем Use Ambient Occlusion . Отключаем галочку Compress Lightmass  —  это сильно увеличивает время билда, но зато не будет никакого песка на стенах.

Lightmass Settings

Итог

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

Кстати, обратите внимание на стол и тени от тарелок. Тени размытые, тарелки как будто левитируют. Это вышло из-за того, что у этого стола неправильная UV-развертка и к тому же недостаточно большой Light Map Resolution  —  64. На первое время можно просто увеличить Light Map Resolution до 512, однако это все равно не даст хорошего результата. Развертка где-то пережата, где-то растянута, и плотность не будет равномерной, что может привести к артефактам. О том как правильно подготовить 3D-контент я напишу в следующей статье.

Дополнительная информация

Про освещение:

Советую посмотреть на ютубе Unreal Lighting Academy . Канал ведет Senior Lighting Artist Dice Tilmann Milde, который отвечает за освещение в Battlefront. Очень полезные видео, но на английском и длительностью больше часа.



Рекомендуем почитать

Наверх