Адаптация оригинального текста статьи .
Введение
Меня зовут Лассе Роде, и я представитель студии 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) в ультра белом интерьере.И, честно говоря: Это непростая задача!
Выше – оригинальный рендер сделанный в 3ds Max и Corona Renderer. Для того, чтобы увидеть остальные изображения, нажмите здесь .
Ниже видео готовой сцены
https://www.youtube.com/watch?v=y-7xzr4VSmk& ;feature=youtu.be
Начну с начала:
Оригинальная СценаМоделирование было сделано в 3dsmax в спешке. Так что я на самом деле подробно остановлюсь только на тех частях, которые отражены в финальных изображениях. Этот подход, конечно, не возможен в средах реального времени. Для изменения назначения цели при использовании в Unreal Engine мне пришлось немного сократить масштабы, потому что меблировки и детализации всего пространства заняло бы слишком много времени для тестирования.
Я решил экспортировать только две комнаты: их вы видите на нижней части скриншоте выше.
Экспорт геометрии для UnrealEngine-это очень непростая задача, ЕСЛИ у вас несколько идей!Есть смысл разделить эти идеи на части. Потому Lightmass рассчитывается в отдельной карте для каждого объекта, это хорошо, чтобы быть немного осторожным с высокими значениями особенно на больших плоских объектах, таких как стены и потолок. Из-за этого я только экспортировал внутренние поверхности стен, которые мы на самом деле видим.Я также добавил немного к верхней и нижней части стен, чтобы пересечь их позже с потолком. Я думаю, что это хороший способ для предотвращения "световых протечек" - световые артефакты, проявляющиеся когда геометрия не закрыта или не пересекается. Это не проблема, когда это мрачная сцена с задействием большого количества текстур - но, так как мы хотим получить сверх-белое пространство,то важно создать точное GI (глобальное освещени), какое только возможно, особенно в углах.
Вторая важнейшая вещь - создать развертку скоординированную для канала GI, которая будет сохранена для просчета lightmass в UE. В 3ds Max это будет UV-канал 2.Канал 1 предназначен для использования всех других текстур, таких как диффузия, шероховатость, нормалей, и т.д. Unreal Engine рассчитывает каналы, начиная с 0, что может вызвать некоторую путаницу в начале - но как только вы это усвоите, то поймете,что это просто.Примечание: Сделать развертку важно только для канала карты света (light-map)! Для канала текстуры любой вид отображения может работать, например, кубический или цилиндрический. В большинстве случаев операция flatten mapping в 3ds Max модификатора Unwrap (получение развертки где порог, градус разворачивания можно задать) достаточно для получения UV координат.Если вы хотите получить все объекты в сцене в UE4 как это было в вашей макс-сцене, то необходимо модготвоить модели, чтобы вставлять их на места где они были при экспорте. Для одиночных объектов, таких как стулья, удобно экспортировать в Unreal Engine один раз и копировать уже внутри. Для этого нужно подвинуть объекты ближе к центру в вашей 3ds Max сцене, потому что центр объекта (pivot) в UE будет там же.Рис 5
Рис 6
Вы видите, я использую высокополигональную геометрию без LOD (уровень детализации) упрощения. Это, конечно, рекомендуется только в небольших сценах, таких как эта, но так как у меня есть опыт сглаживаня геомтерия, и я не хочу чтобы были какие-либо неровные края на моей мебели, то для меня это логично. Хотя я не сомневаюсь,что комната требует оптимизации;).Убедитесь, что ваша геомтрия будут объединены в один объект и элементы имеют различные каждый свой ID материал для обработки различных материалов позднее в UE4!Ну что же,сохраняйте геометрию в разрешении .fbx и переходите в редактор Unreal Engine! Импорт в UnrealEngine 4Импорт FBX файлы в Unreal Engine 4 работает довольно гладко! Я делал это в несколько этапов.Я подготовил различные файлы, в таком порядке: - Геометрия комнаты в отдельном файле FBX. - Различные файл для моделей, каждый с несколькими объектами в них.Убедитесь, что сняли флажок Combine Meshes (Комбинировать геомтрию) для полученя ваших объектов раздельно и не объединые в один объект!Рис 7
Материалы
Я весьма прямолинеен и большой поклонник простых установок! Так что пример шейдеров очень прост, состоит из карты диффузности, ненасыщен и смешан с черным цветом. Та же карта корректируется по цвету и инвертируется в канале roughness (шероховатости). Готово.
Normal map была бы здесь излишне, но не ограничивайте себя в исследовании материалов в сцене.Здесь вы видите деревянный материал, применяемый для кресел и стола - темная древесина с матовым отражением раскрывает структуру и текстуру древесины.На следующем изображении вы видите в два раза больше материалов, которые могут представлять интерес, шторы, подсвеченные солнечным светом – из двустороннего материала.Вы должны установить Shading Model в "Subsurface" и добавить постоянную ноду со значением меньше, чем 1 и связать с свойством непрозрачности вашего материала, чтобы получить этот эффект.К стакану на переднем плане применен очень простой материал стекла:Он имеет довольно темный цвет диффузии, нулевой roughness и высокое значение зеркальности. Я также применил Fresnel (эффект френеля-коэффициент преломления) ноду со значением 1,5 для контроля непрозрачности и преломления как в реале. Есть много более сложных способов получения более реалистичного стекла, - но я, честно говоря испытывал некоторые проблемы, чтобы получить контроль над параметрами, так что это простое стекло, кажется, достаточно хорошо получилось.Примечание: я выбрал Two Sided (Двустороний материал) и установил режим полупрозрачности освещениея "TLM Surface" на вкладке Details tab в панели слева.Материал, который я хочу показать это материал который прменялся к полу, хочу показать потому что это единственный материал, к которому применен normal mapЗдесь вы видите материал, с диффузным цветом, шероховатой текстурой и нормальной картой. Цвет светло-серый, со созначением 4Шероховатость выглядит немного сложнее: Слева вы видите ту же карту увеличенную в три раза отличную с TexCoord нодой. Красный канал умножается на другие, а затем подсоединяется как альфа в интерполяции ноды Linear (Lerp), чтобы смешать их значения. 0,3 и 0,2 в этом примере, получаем тонкое шумное отражение на полу досок. Затем дорабатываем с "Power" нодой, чтобы получить нужное количество шероховатости, и этот материал тоже вышел неплохо.Normal опять воздействием TexCoord, а затем развернута через "FlattenNormal" ноду, чтобы получить только тонкий рельеф на материале. Подготовка моделейПеред добавления объектов в вашу сцену, всегда лучше лучше раскидать материалы по геомтерии. Вы должны сделать это только один раз, и сможете применять различные материалы. Это быстрый процесс: Здесь вы видите, как важно применять различные ID материала для ваших объектов, чтобы расположить различные материалы там, где они и должны быть! Построение сценыЕсли вкратце - импортируйте все вместе. Во-первых, вы должны перетянуть в комнату геометрию. Лучший способ, собрать сцену– перетащить и бросить (drag & drop) в пустую сцену. Здесь не видино полигоны наружной части стен - как я объяснил выше: они только односторонние для лучшего Lightmass расчета.В таких случаях хорошо бы установить Lightmap (получаемая разверткой) разрешение для ваших больших объектов с высоким значением, для стен, например, я поставил значение 2048.Рис 16
Как упоминалось выше, «световая протечка» может быть проблемой. Чтобы предотвратить это, я положил черные ящики вокруг всей сцены. Это выглядит немного неряшливо снаружи,но зато внутри чисто;)Освещение и его параметры
Настройки освещения также довольно таки просты: я использовал "метод Koola" - сочетание солнца и пятен света в передней части окна, чтобы имитировать поток света. Это весьма эффективно и просто в управлении! Теперь для расчета глобального освещения важны только несколько настроек
Рис 18
Я существенно увеличил освещение отраженных лучей и качество освещения. Я также снизил сглаживание до 0,6. Детали очерчены лучше и тени не «стираются» так сильно.Также я настроил прямое освещение в динамической тени для получения лучших теней. Это также важно для движения света позднее в анимации!Рис 19
Последним шагом перед нажатием "Создать" будет установка Качество Освещения (Lighting Quality) на «Производительность» (“Production”)Рис 20
Это должно привести к сглаживанию освещения повсюду!Вообще-то,когда добрался до этого пункта в первый раз, я был в восторге! Это на самом деле сильная часть этого движка: приводить вас восторг! Будучи в состоянии двигаться внутри моего «рендера» в режиме реального времени был действительно радостный момент! Постобработка Одной из самых больших особенностей является возможность применения цветокоррекции и эффектов камеры прямо в редакторе. Это может быть сделано с PostProcessVolume в глобальных настройках. Я сделал несколько настроек по насыщению, окантовке и виньетированию, цветность и отключил автоэкспозицию путем установки минимального и максимального значения до 1 и увеличил общую яркость, установив компенсацию экспозиции в районе 1,42. Также добавил блик, который я нахожу удивительным,т.к всё происходит в режиме реального времени!Настройка анимацииВозможность свободно перемещаться внутри сцены делает анимацию очень легкой и приятной задачей из-за мгновенной обратной связи среды реального времени. Как частому пользователю программного обеспечения для композа, мне потребовалось не так много времени,чтобы приспособиться к интегрированным инструментам и настроить анимацию.Первое, что нужно сделать, это создание Matinee Actor (инстуметарий для создания последовательности видео)Рис 22
При открытии Matinee вы увидите окно с секцией отслеживания и редактор кривых.Настройка камеры и анимации проста. Движение контролируется ключевых кадрами и кривыми так же, как и в других программах создания анимации. Работа по редактированию ведется только в Matinee editor.Вы можете видеть траекторию камеры только в редакторе и контролировать редактирование на лету!После того, как примерная анимация сделано в Matinee, я экспортирую анимацию как .AVI и доработавыю её в Premiere и подгоняю под музыку.
Заключение
Весь процесс, начиная от экспорта из 3ds Max и импорта в Unreal Engine 4, работа с тенью и освещением, создание анимации, а затем размещением на YouTube заняло у меня около суток. Эта скорость неслыханное в ArchVIZ и отражает ключевой потенциал, который лежит в основе использования Unreal Engine 4 для визуализации работ.Отсутствие визуализации на этапе «производства» изображений действительно делает процесс создания очень гибким и свободным. Быстрая рузельтат наших действий-настоящая революция!Мы постоянно тестируем и думаем о возможностях применения этого вида создания и технологического процесса в нашей повседневной работе.Есть много возможных применений, и мы очень хотели бы изучить их! Лассе,xoio
Комментарии (61)






















































