- PVSM.RU - https://www.pvsm.ru -
Работая над проектом, архитекторы и дизайнеры прибегают к такому способу подачи, как 3D визуализация. Чаще всего это статичное изображение, полученное с помощью визуализаторов vRay, MentalRay, Corona и других.
В данной статье речь пойдет о визуализации архитектурных проектов на движке Unreal Engine. Рассмотрим все плюсы и минусы, а также поделюсь своими впечатлениями и опытом на примере готового проекта:
UE4 принимает 3D модели в формате .obj и .fbx.
Моделировать и экспортировать объекты можно в любом 3D редакторе (3ds Max, Blender, Maya и пр.) Желательно, чтобы модель имела хорошую топологию и полигонаж в разумных пределах (если говорить об интерьерах, то основные объекты, такие как диван, кровать и др. не должны превышать 100 тысяч треугольников, т.к. это сильно сказывается на производительности). Лучше, конечно, делать ретопологию каждой модели вручную, но для достижения приемлемого результата можно обойтись и автоматическими средствами, программами или плагинами.
Все модели должны иметь развёртку, чем ровнее она будет, тем качественнее на неё ляжет текстура и, забегая вперёд, свет с тенями, которые предварительно считаются в Unreal Engine.


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

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

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

[3]На прозрачность материала влияет свойство Opacity, которое регулируется float нодом (значение от 0 до 1)
Далее приведены примеры четырёх основных свойств, которые определяют физическую природу материала. Объединение их вместе различными способами позволяет создавать практически любой возможный тип физической поверхности в реальном мире.
| Base Color | Metallic | Specular | Roughness |
![]() |
![]() |
![]() |
![]() |
В сцене используется три типа освещения:

После того, как все объекты и источники света были размещены, необходимо просчитать сцену:
![]()
Это некий аналог рендера, который просчитывает взаимодействия всех статичных источников света со статичными моделями. Проще говоря, отбрасывает и запекает тени.
Если после просчёта модель или источник света были передвинуты или удалены, тень останется и придётся заново пересчитать сцену.
Пример:

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

Сама дверь состоит из двух элементов: статичная модель дверного проёма и интерактивное дверное полотно, логика которого описана в Blueprint.
В компоненты чертежа входит статичная 3D модель дверного полотна и фигура Box, которая играет роль триггера:
Нодовая структура выглядит следующим образом:
[5]
Ноды 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 поддерживает множество эффектов для постобработки, далеко не все они могут вам пригодиться, но некоторые из них я перечислю:
Несмотря на кажущуюся сложность работы, редактор Unreal Editor 4 выглядит приветливым. А с ростом производительности компьютерного оборудования GPU рендер может изменить традиционный подход к работе визуализаторов, дизайнеров и архитекторов.
Из минусов хочу отметить пару моментов. На данный момент добиться фотореалистичной картинки не просто, но если уйти в проект с головой и потратить больше времени, то можно [6].Размер готового билда может превышать 1GB, что может затруднить обмен среди коллег и заказчиков. На текущее время далеко не каждый компьютер способен выдать стабильные 25-30 FPS в заполненном 100 м² интерьере.
Автор: Dead_End
Источник [7]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/game-development/86308
Ссылки в тексте:
[1] Image: http://habrastorage.org/files/a9a/0c8/189/a9a0c8189b7f4cb8a253f227d558279b.jpg
[2] Image: http://habrastorage.org/files/9d3/3a7/8d5/9d33a78d55bb457188d22fff0882ddfc.jpg
[3] Image: http://habrastorage.org/files/a77/7b6/0ce/a777b60ce2d5411a8933eae1ad7e1dda.jpg
[4] Image: http://habrastorage.org/files/895/99a/f17/89599af17aeb42c1aa476744fdf847b4.jpg
[5] Image: http://habrastorage.org/files/6fe/cf2/dfb/6fecf2dfbea84c7b8adf6348bca7a451.jpg
[6] можно: http://www.benoitdereau.com/unrealparis.html
[7] Источник: http://habrahabr.ru/post/253503/
Нажмите здесь для печати.