Създаване на интериор в Unreal Engine

В тази статия Калин Попов – ментор в курс “Unreal за Архитектура и Игри“, ще ви запознае с процеса на създаване на интериорна сцена в Unreal Engine 4.


Здравейте, казвам се Калин Попов и в тази статия ще изложа някои съвети и препоръки, които смятам, че ще ви бъдат полезни при създаването на първата ви сцена в UE4. Статията не е стъпка по стъпка, а стъпва на знанията, взети по време на обучението. Това означава, че за реализирането на този интериор използвам Substance Painter и Marvelous Designer, освен Unreal Engine. Тук ще намерите информация за какво да внимавате, какво да избягвате и какви елементи трябва да имате в сцената, за да постигнете реалистично осветление.

Нужни елементи за сцената

Преди да скочим в Unreal, ще имаме нужда от модели и текстури, с които да започнем. За въпросния интериор, освен направените от мен модели и текстури, използвах такива и от Starter Content и Xoio Berlin Flat. Това са безплатни ресурси, които може да свалите, докато учите програмата.

intro_01_logo

Другата част от моделите създадох собственоръчно, като например завивките и възглавниците върху леглото. За да ги създадете сами, следвайте видео уроците, включени в модула за Marvelous Designer в курса.

intro_02_logo

Текстурата на този юрган бе създадена чрез принципите, показани в учебния модул за Substance Painter от курса. За целта бе използвана повтаряема шарка на тъмни и светли квадрати и повтаряема текстура на нишки, която да добави детайла и реалистичността.

intro_03_logo

Намиране на референции

Тъй като първоначалната ми идея беше да използвам само мебелите от Xoio Berlin Flat, изборът, който трябваше да направя за стила на интериора беше лесен. Както с всеки друг проект, който започвам, подбрах референции за инспирация, близки до крайния резултат, който исках да постигна. Не мога да наблегна достатъчно върху това колко важна е тази стъпка. Препоръчвам ви с какъвто и проект да се захващате, да гледате тонове референции. Дори най-добрите в индустрията, правили стотици персонажи и пейзажи, имат до себе си подбрани референции, докато работят. Това е от още по-голямо значение, ако нямате все още натрупан опит по темата.

Тъй като обичам да виждам всичките си референции едновременно, за тази стъпка използвах един безплатен софтуер за подреждане на табло с референции, наречено PureRef, който можете да изтеглите от тук.

В следното изображение виждате финалното ми табло. По време на проекта, докато ми се изясняваше повече идеята за финалната визия, премахвах и добавях нови референции. Първоначалните референции, които събирах ми служиха за общо настроение, композиция, стил и основни цветове. С напредването на проекта започнах да търся по-конкретни неща.

ref_01_logo

Скициране на сцената

След като събрах достатъчно референции, започнах да “скицирам” помещението и да експериментирам с различни пропорции, материали и осветление. Поставих временна човешка фигура в средата на сцената, която да ми служи като референция за мащаба. Дори да нямате такава под ръка, обикновено кубче със средна човешка височина ще ви свърши работа.

sketch_01_logo

Докато сте в тази фаза, използването на Geometry четките може да ви помогне да се фокусирате върху композицията на сцената. Тези четки всъщност представляват обикновени примитивни форми с базови настройки както за формата им, така и дават възможност за булеви операции. В случая ги използвах, за да направя дупки в стените, които да послужат за прозорци. В последствие премахнах тези отвори, но поуката е, че поне не загубих време да моделирам завършена стена в 3Dsmax или Maya, която по-късно да изхвърля.

sketch_02_logo

След като вече разполагах с някакво помещение, дойде време да добавя основните елементи (или “актьори”, както ще ги срещнете на Unreal език), свързани с осветяването на сцената. Спрях се на дневна сцена и за това основният източник на светлина е Directional Light (Слънце).

Следващите два актьора, които добавих са Sphere Reflection Capture и Lightmass Importance Volume. Накратко те представляват кутии, в рамките, на които Unreal концентрира по-добро осветление и отражения. В тях е поместен целият ми интериор.

В последствие добавих Exponensial Height Fog и Skylight.

sketch_03_logo

За фона, който се вижда през прозорците използвах Skybox, който можете да откриете в Starter Content. Той представлява огромна сфера с обърнати нормали, сочещи навътре. В инстанцията на материала, която идва със сферата, заредих по-подходящо HDRI изображение.

След като сте разположили тези основни елементи можете да Build-нете сцената. Това ще накара Unreal да калкулира сенките и ефекта на глобално осветление и да ги изобрази в сцената. Препоръчвам да използвате Preview Качество на Build функцията през по-ранния стадий на работа, за по-бързи изчисления.

Съвети за подготовка на моделите

След като вече имам базово помещение и осветление, започвам да експериментирам с различни конфигурации от мебели и материали. Тази фаза не изисква кой знае какви технически познания, можете просто да освободите артистичните си умения. Това, разбира се, се отнася за случая, в който използвате готови обекти. Затова ще ви дам няколко съвета за останалите случаи, в които правите обектите си сами.

Използвайте FBX файлове за моделите си, UE4 не обича OBJ.

furniture_01_logo

Задължително е обектите ви да имат UV координати, дори те да не са перфектни. UE4 е доста капризен в това отношение и ще ви бомбардира с грешки при рендирането, ако имате проблеми с UV-тата. Няма проблеми да имате припокриващи се UV-та (overlapping), тъй като при импорт се създава втори UV set, който програмата използва за бейкване на осветление. Имайте предвид, че UE4 само премества отделните UV shell-ове за този UV set, което означава, че е добре те да са релаксирани добре.

furniture_02_logo

Препоръчвам да обърнете внимание на посоката, в която са завъртяни UV-тата – хоризонтално или вертикално. Това има отношение към посоката, в която ще вървят приложените текстури. Често срещан пример за това е дървесна текстура, която трябва да върви по дължината на модела, а не напречно.  В долния пример, UV-тата на страните на шкафчето са ориентирани в една и съща посока, за да може и шарката да е ориентирана консистентно. Специално внимание е отделено, за да съм сигурен, че шарката върви хоризонтално.

furniture_03_logo

В Unreal Engine 4, когато поставяте обект от Content Browser-a, бихте искали той да се прилепи плътно за повърхността, върху която го поставяте, все едно седи върху нея. За целта трябва в програмата ви за моделиране да центрирате обектите преди да ги експортирате, т.е. да са в средата на сцената и пивотът в тяхната основа. Имайте предвид също, че когато скалирате или ротирате даден обект в UE4, това ще се случва от и около центъра на пивота.

Това е нещо малко, но ако отделите допълнителното време да го направите за своите обекти, ще си улесните значително работата.

furniture_04_logo

За разлика от Maya и 3ds Max, Unreal не ви позволява да сложите материал върху полигонална селекция. Това ще рече, че е нужно да определите от колко материала ще се състои обекта ви преди да го импортирате в Unreal. В случая с нощното шкафче съм закачил 2 материала, които по-късно в UE4 превръщам в хром и дърво.

furniture_05_bg_logo

Материали

Създаването и променянето на материалите протичаше през цялото време, паралелно с обзавеждането и осветлението на сцената и така до самия край.

Започнах с редактирането на материалите, които вече имах, дошли заедно с пакетите на Xoio Berlin Flat и Starter Content. Целта ми беше да ги направя, колкото се може по-параметрични и гъвкави, чрез създаване на техни инстанции.

Накратко, инстанция на материал е опростен и user friendly вариант на дадения материал, в който само определени параметри на материала са показани.

В по-големи екипи това позволява по-технически ориентираните художници да направят сложен материал със стотици нодове и да изберат само някои от тях да бъдат изведени в прозореца на инстанцията. Така позволяват на на останалата част от екипа да твори, без да се сблъсква със сложните плетеници от нодове, които изграждат същинските материали.

material_01_bg_logo

Но да оставим настрана големите екипи. Главното преимущество на инстанциите пред Parent материалите е възможността за промяна на тези параметри с мигновена репрезентация в сцената в реално време. Като допълнение, по-леко е за смятане от компютъра да имате един Parent материал и няколко негови инстанции, от колкото за всяка малка разновидност на материала сцената ви да съдържа отделен материал с всички нодове.

Редактирането на материалите, което правя, представялява заменяне на непараметричните нодове, съдържащи стойности, които отговарят за лъскавостта на материала, цвета, повтаряемостта (tiling) и тн. с параметрични такива.


След това избирам в каква група всеки параметър да попадне от Details панела в Material Editor-a.

material_03_logo

Така в инстанцията на материала параметрите са разделени на логични за мен групи – Base Color, Normal Map, Roughness и тн. Това ще помогне на вас и вашите колеги да намерите по-бързо търсен параметър.

material_04_logo

Понякога обаче, не е достатъчно да заменя един нод с неговия параметричен еквивалент, за да направя дадена функция параметрична. Като например, параметрична повтаряемост (tiling) с възможност за отместване (offset). В случая, трябва да свържа две параметрични стойности, които да отговарят за хоризонталната и вертикалната повтаряемост и други два за хоризонталното и вертикалното отместване.


В Trello групата на курса можете намерите още такива често срещани примери, към които да се обърнете, ако изпитвате затруднения.  

Библиотеката с подобни референции ще се допълва с времето, както от менторите, така и от курсистите.

Постобработка

Накрая идва ред на Post Process Volume (Постобработвателен обем). Той работи на същия принцип като Sphere Reflection Capture и Lightmass Importance Volume – като кутия, в чиито граници действат неговите ефекти. Ефекти като Контраст, Яркост, Цветност, Global Illumination, Ambient Occlusion и тн.

Той е доста мощен, но препоръчвам да го оставите за накрая, като черешката на тортата, след като сте постигнали достатъчно добро осветление без негова помощ.

При направата на този интериор, използвах вградените настройки за цветова корекция на сцената, но има друг начин, който може да ви допадне доста, особено ако сте запознати с Photoshop. Става въпрос за зареждане на LUT текстура (Look up Table).

В свойствата на Post Process Volume се намира настройката Color Grading LUT. В този слот се зарежда LUT текстура , която изглежда ето така. Нея можете да изтеглите от тук.

post_01

Във Photoshop можете да приложите всякакъв тип корекции на цветовете и контрастта, върху скрийншот на интериора, взет от Unreal. За целта използвайте недеструктивни adjustment слоеве, като Levels, Curves, Hue/Saturation/Contrast и т.н. Когато харесвате финалния резултат, преместете всички adjustment слоеве в документа, съдържащ LUT текстурата и я запишете като ново изображение. Това ще бъде текстурата, която да заредите в настройката Color Grading LUT.

В долния пример виждате ефекта от използваната LUT текстура. По този начин използвахме Photoshop като лесен и ефективен начин да променим цялостното излъчване на сцената.

post_02_logo

Надявам се, че статията ви е била полезна и е послужила за ориентир относно процеса на изграждане на интериори в Unreal.

Разработката на един хубав интериор е свързана с поредица от технически стъпки и използването на правилните инструменти, с които да работите ефективно. Substance Painter, Marvelous Designer и Unreal Engine са три мощни инструмента, с които да се въоръжите. Ако имате нужда от помощ в изучването им, моля разгледайте нашето обучение.

Ако имате въпроси, можете да се обърнете към нас на този е-мейл -> info@cgzen.com

Eкипът на Cgzen ви благодари за това, че прочетохте тази статия.
Моля, споделете я с бутоните по-долу, ако ви е харесала!

До скоро!

За автора:


Калин Попов


3D Character Artist.

Един от първите ученици на Cgzen и понастоящем 3D character artist в Creative Assembly Sofia. Работил е за едни от най-големите разработчици на игри в света. Главно специализира в изграждането на 3D модели и текстури на персонажи.

online portfolio Kalin Popov on facebookicon_mail_on

Comments

Научи повече!

Бъди в крак с новостите, запиши се за известия.