Osvětlení pro architektonickou vizualizaci v UE4.18 pro VR. Hledání real-time fotorealismu v architektonické vizualizaci (překlad). Unreal-Engine_4

Existuje několik ovládacích prvků žhavení. Pokud například chcete změnit jas světla (Jas), můžete zadat nové číslo místo "1,000000 ". Nebo podržte myš mezi dvěma černými šipkami napravo. Klikněte a táhněte myší nahoru nebo dolů a jas budete měnit dynamicky.


Blízko pole Světlá barva(barva světla), kliknutím na lupu otevřete paletu barev, tuto záložku můžete také rozbalitSvětlá barvaotevřením nastavení barev vRGB. Můžete také kliknout na ikonu kurzoru myši a získat barvu, kterou můžete vybrat myší někde na mapě. Vyzkoušejte nyní oba způsoby.

Zde je seznam nejdůležitějších vlastností.Určitě vyzkoušejte každý z nich na vlastní kůži.


Jas(jas) - vše je zcela zřejmé.
FalloffExponent- tvrdost světla nebo rozpad v jeho poloměru. Přesuňte světlo blíž ke zdi a pohrajte si s touto hodnotou a uvidíte, jak to funguje.
Světlá barva- barva světla.
Poloměr- oblast světla.
Ostatní vlastnosti je nejlepší ponechat beze změny, ale některé z nich probereme později.
Udělejme světlo oranžově, s dostatečně vysokým jasem a velkým poloměrem, aby zaplnilo místnost. Ujistěte se, že jste „znovu postavili (přestavěli)“ (Budujte světlo) osvětlení, aby se konečně tvarovalo světlo.


4) SportLight

Ubytování Spotlight trochu složitější než umístění bodového světla - najdete ho v HerecObecný'A. Otevřete prohlížeč ( Obecný) a přejděte na kartu Kurzy herců. OTEVŘENO " Světlo“ a vyberte Sportovní světlo. (Uvidíte dvě podkategorie, SpotLightMovable A SpotLightToggleable. Ty se většinou používají v animacích nebo jsou spojeny s hraním, takže se jich zatím nebudeme dotýkat.)
Klikněte pravým tlačítkem myši na svou scénu a vyberte „ Zde přidejte SpotLight"Uvidíte bílý reflektor směřující dolů. Přesuňte ho tak, aby to vypadalo, že někam vrhá kruh světla."

Sportovní světlomají všechny stejné vlastnosti (barva, jas, poloměr, pokles), ale mají několik dalších vlastností. Ujistěte se, že je vybrán reflektor a otevřete jeho vlastnosti. Najděte dvě nové nemovitosti.


Úhel vnějšího kužele- vnější úhel kužele (úhly jsou zde od osy kužele k tvořící přímce, od 0 do 90 stupňů).
Vnitřní kuželový úhel- Ovládání hotspotu uprostřed kužele. Pokud je 0, bude svítit „měkké“ světlo. Pokud je toto stejný poloměr, rovná seÚhel vnějšího kužele, reflektor bude mít jasný kruh světla. (Pohrajte si s touto hodnotou a uvidíte, jak to funguje)


Bodové světlo můžete otáčet pomocí standardního nástroje pro otáčení v editoru. Můžete jej také ovládat v režimu z pohledu první osoby (kliknutím naUzamknout vybrané herce na kameru “ v horní části perspektivního prohlížeče.


Změňte úhel kužele Spotlight k pokrytí širších oblastí. Upravte osvětlení, abyste získali konečný vzhled.

5) Směrové světlo

Toto světlo ovlivňuje všechny oblasti úrovně, jak uvnitř, tak venku, bude zde stín ze stěn místnosti nebo cokoli jiného. Toto světlo se nejlépe používá na otevřených úrovních.

Toto světlo najdete na stejném místě jako SportLight. Při pohybu po úrovni to nemusí být velká chyba, světla na stěnách mohou „blikat“. Po „přestavbě“ osvětlení nebo otočení světla blikání obvykle zmizí.

Otočte světlo tak, aby nesvítilo přímo dolů. Otočte se Směrové světlo můžete to udělat stejným způsobem, jak je popsáno v části SportLight. Ale místo toho světelného kužele, který ukazuje směr, bude malá modrá šipka.
Pokud máte několik blízkých objektů, při určité rotaci světla se z objektů objeví stín.

Při „přestavbě“ světla mohou stíny vypadat takto:

Tento stín nevypadá moc dobře, ale je vidět z velké dálky.


Ale pokud zaškrtnete políčko, zkazítebForceDynamicLightv nastavení světla abCastDynamicShadowsv nastavení požadovaného objektu, pak po „přestavbě“ světla bude stín jasný:

Ale tento stín zmizí, když se budete vzdalovat od objektů (můžete si všimnout, že stín z různých objektů mizí v různých vzdálenostech). Ale takové stíny jako na Epicových mapách se s těmito parametry nedosahují. Vyráběli je ručně.
Pokud stíny nepotřebujete, zakažte "CastShadows„na předmět, který potřebujete, ze kterého by neměl být stín, nebo na požadovaný zdroj světla, pokud stíny z tohoto světla vůbec nechcete.

6) Sky Light

Toto světlo osvětluje vše, všude, aniž by vytvářelo stíny (způsobuje minimální pádFPS), takže je lepší jej používat na otevřených úrovních nebo zajistit, aby v úrovni nebyla žádná tmavá místa.
Pojďme to přidat (najdete to vObecný'e, v Světlo'Ó).

Okamžitě se hladina výrazně prosvětlí (kromě stropu, který se nemění.) Plochy jsou osvětleny „shora“, takže podlaha dostává hodně světla, stěny průměrné množství světla a strop zůstává neosvětlený.Jsou zde dvě nastavení (je těžké popsat, co dělají).

Nižší jas- jas (mix barev, něco takového, co je to Hz) (výchozí 0)Nižší barva- barva (sekundární barva pro méně osvětlené plochy, stěny a zejména strop).

Úpravou vlastnostíSkyLight, dostaneme, že barva níže je jasně červená a barva nahoře je jasně modrá (s poměrně jasnýmNižší jas, to je jasné.)Je patrné, jak se červená a modrá barva spojila a zeď udělala fialovou. To by mělo být zřejmé, pokud odstranítePointLight.

A poslední věc je ikona pro SkyLight je velmi malý a s největší pravděpodobností ho ztratíte ve velké úrovni. Ve vlastnostech, v Zobrazit kategorie, změna DrawScale na 10 .

7) Dal vše dohromady


Podívejme se, jak jinakSvětloobjekty jsou použity ve scéně.
Pojďme otevřít (Unreal Tournament 2007\UTGame\CookedPC\Private\Maps\DM-RisingSun.ut3), takže můžete vidět, jak Epic použil tyto typy světel v praktickém prostředí.
Načtěte mapu a uvidíte něco takového:

Podívejte se kolem sebe. Víte, jaké světlo co svítí? Je jich spoustaPointLight A SportLightpoblíž jsou lampy a zářící dveře. Co ale osvětluje aktivitu skal v pozadí? Pojďme to zjistit.
Klikněte na ";Přepnout Zobrazit příznaky"tlačítko a zapnutí"Vlivy světlaVyberte kameny a uvidíte, jak z nich vycházejí dvě modré čáry.

Čáry povedou do dvouSměrové světlo na jevišti.

Uvidíte, že obojíSměrové světlonasměrované v opačných směrech. A když se podíváte do nemovitostí, uvidíte, co na pódiu dělají. Jeden jas (Jas) 2.5 a vyzařuje žlutou barvu - působí jako slunce. Rozdílný jas 0.25 a vyzařuje bledě modrou barvu - světlo jako z nebe. Pokud jste vše smazali (k tomu klikněte pravým tlačítkem myši na libovolný zdroj světla a vyberteVyberte Všechna světla), s výjimkou těchto dvou světelných zdrojů bude prostor vypadat stále dobře, s výjimkou několika desítek objektů, které byly specificky osvětleny jinými světelnými zdroji.

8) Hledat

Můžete si vybrat světla ve 2D nebo 3D výřezech a zjistit, co dělají, ale pojďme se podívat na nástroj –“ Hledání herců“. Můžete jej otevřít kliknutím na ikonu dalekohledu v horní části okna – udělejte to nyní.

Hledat herce otevře okno se seznamem všeho na mapě. Ale my se chceme jen dívat na světlo. Klikněte na " Obsahující"a pak v sekci" Hledat", zadejte " lehkýt". Počet nalezených objektů je zobrazen ve spodní části displeje, například " Nalezeno 11 objektů".

Tak co máme? Nějaký směrová světla, směrová světla, A reflektory. Oznámení světlík. Pokud dvakrát kliknete na světlo v seznamu, které se používá ve scéně, kamera na toto světlo skočí.
Udělejte si pár minut a podívejte se na vlastnosti každého zdroje a zjistěte roli každého z nich ve scéně.



9) Objem po procesu


Ovlivňuje vzhled a úroveň osvětlení. PostProcess Volume se nachází kolem celého jeviště. Pokud 3D okno oddálíte, všimnete si jemných barevných změn v aréně. Hlasitost postprocesu ovládá jas a spoustu dalších efektů, pokud je v něm kamera.
Vybrat Objem po procesu a otevřete jeho vlastnosti. (V 2D projekci to vypadá jako fialové pole, nebo ho můžete najít skrz Hledat herce.)

Zavedení

Jmenuji se Lasse Rohde a jsem zástupcem studia xoio. Jsme malá agentura specializující se na renderování a ilustrování architektonických a marketingových prací. Obvykle pracujeme v jakémsi „tradičním“ 3D prostředí s využitím aplikací jako 3ds Max a podobně. Neustále testujeme nové vykreslovací moduly a v současnosti preferujeme Corona Renderer, V-Ray a Octane. Každý „motor“ má své silné stránky a každý se snažíme vždy využít pro své vlastní účely. Podle mého názoru existuje v našem oboru několik hlavních trendů: touha po fotorealismu a rychlých výsledcích – pokud nemluvíme o reálném čase. . Nečekat, až bude výsledek hotový na renderové farmě, byl pro nás vždy snem – zvláště při vytváření animací Hlavní nevýhodou „real time“ byla po dlouhou dobu nekvalitní ve srovnání s „předrenderovanými“ obrázky a animace. Takže i když to vypadalo velmi zajímavě, jeho použití v kontextu vizualizace se zdálo být těžko představitelné – a upřímně řečeno, vzhled „hraný“ byl pro náročné klienty v oblasti architektury a podnikání těžko prodejný, ale věci se dramaticky změnily. Výsledky vytvořené v „motorech reálného času“ jsou dnes velmi krásné a přesvědčivé!

Proč Unreal Engine?

Vydání UE4 vzbudilo v našem odvětví velkou pozornost a možnosti se zdály nekonečné. Materiálový systém PBR (Physical Rendering) a jednoduchý pracovní postup pro vytváření modelu v Unreal Engine pro nás byly tím nejpřesvědčivějším důvodem, proč to zkusit – je to příležitost získat extra kvalitu! Pokud jste viděli Koolovo dílo (k dispozici také ke stažení na Unreal Engine Marketplace), které se před pár týdny stalo virálním, budete pravděpodobně stejně jako my přesvědčeni, že Unreal Engine 4 je schopen působivé kvality , Chci vám poskytnout rychlý přehled pracovního postupu pro vytvoření scény Berlin Apartment, kterou si můžete stáhnout z Marketplace (značkový obchod Unreal) a podívat se na některé techniky a techniky, se kterými jsem se při práci na scéně setkal. Některé z nich jsem našel sám, jiné jsou odvozeny z informací, které jsem našel na internetu. V Unreal Engine jsou fóra a dokumentace rozsáhlé a rozsáhlé zdroje, stejně jako základní obsah, který přichází s „engine“ a scénami, které můžete získat z Marketplace.

Berlínský byt

Od roku 2013 vytvářím sérii snímků tohoto bytu v historické budově v Berlíně pomocí 3ds Max s Corona Renderer. Je to flexibilní způsob manipulace s barevným mapováním, který skutečně pomohl vyzdvihnout světelnou náladu této scény. To byl také důvod k výběru UE4 pro testování Všiml jsem si, že UE4 bylo docela úspěšně použito ve scénách s náladovým osvětlením a hlučnými texturami. Tušil jsem, že získat přesný stín a GI (Global Illumination) v ultra bílém interiéru nebude tak snadné a abych byl upřímný: Není to snadný úkol!

Obr. 1

Nahoře je původní render vytvořený v 3ds Max a Corona Renderer. Chcete-li zobrazit další obrázky, klikněte na .

Níže je video z hotové scény

Začnu od začátku:

Původní scénaModelování probíhalo ve 3dsmax ve spěchu. Podrobně se tedy budu věnovat opravdu jen částem, které se promítají do finálních snímků. Tento přístup samozřejmě není možný v prostředích reálného času. Abych změnil účel cíle při použití v Unreal Engine, musel jsem se trochu zmenšit, protože vybavení a detaily celého prostoru by zabralo příliš mnoho času na testování.


Obr. 2

Rozhodl jsem se exportovat pouze dvě místnosti: můžete je vidět ve spodní části snímku obrazovky výše.

Export geometrie proNeskutečný Motor-To je velmi obtížný úkol, POKUD máte několik nápadů, má smysl tyto nápady rozdělit na části! Protože se světelná hmotnost počítá v samostatné mapě pro každý objekt, je dobré být trochu opatrný s vysokými hodnotami, zejména na velkých plochých objektech, jako jsou stěny a stropy. Z tohoto důvodu jsem exportoval pouze vnitřní povrchy stěn, které skutečně vidíme, také jsem trochu přidal do horní a spodní části stěn, abych je později protnul se stropem. Myslím si, že je to dobrý způsob, jak zabránit "světelným únikům" - světelným artefaktům, které se objevují, když geometrie není pokryta nebo protnuta. To není problém, když se jedná o tmavou scénu se spoustou textur – ale protože chceme super bílý prostor, je důležité vytvořit co nejpřesnější GI (globální osvětlení), zejména v rozích.


Obr.3

Druhá nejdůležitější věc— vytvořit sken koordinovaný pro kanál GI, který bude uložen pro výpočet světelné hmotnosti v UE. V 3ds Max by to byl UV kanál 2. Kanál 1 je pro použití všech ostatních textur, jako je difúze, drsnost, normály atd. Unreal Engine počítá kanály začínající na 0, což může být zpočátku trochu matoucí – ale jakmile to pochopíte, je to jednoduché Poznámka: Rozbalení je důležité pouze pro kanál světelné mapy! Pro kanál textury může fungovat jakýkoli druh mapování, například krychlový nebo válcový. Ve většině případů stačí k získání UV souřadnic operace flatten mapping v 3ds Max s modifikátorem Unwrap (získání rozmítání, kde lze nastavit práh a stupeň rozvinutí).


Obr. 4

Pokud chcete získat všechny objekty ve scéně v UE4 tak, jak to bylo ve vaší max-scéně, pak musíte upravit modely tak, aby je vložili na místa, kde byly při exportu. Pro jednotlivé objekty, jako jsou židle, je vhodné jednou exportovat do Unreal Engine a zkopírovat jej dovnitř. Chcete-li to provést, musíte posunout objekty blíže ke středu ve vaší scéně 3ds Max, protože střed objektu (pivot) v UE tam bude.

Obr. 5


Obr. 6

Vidíte, že používám geometrii s vysokou poly bez zjednodušení LOD (úroveň detailů). To se samozřejmě doporučuje pouze v malých scénách, jako je tato, ale protože mám zkušenosti s vyhlazováním geometrie a nechci na svém nábytku žádné zubaté hrany, dává mi to smysl. I když nepochybuji, že místnost vyžaduje optimalizaci ;) Ujistěte se, že vaše geometrie bude spojena do jednoho objektu a prvky budou mít každý jiný vlastní materiál ID pro zpracování různých materiálů později v UE4 rozlišení a přejděte do editoru Unreal Engine! Importovat doNeskutečný Motor 4 Import souborů FBX do Unreal Engine 4 funguje celkem hladce! Udělal jsem to v několika fázích Připravil jsem různé soubory v tomto pořadí: - Geometrie místnosti v samostatném souboru FBX. - Různé soubory pro modely, z nichž každý obsahuje více objektů. Ujistěte se, že zrušte zaškrtnutí políčka Kombinovat sítě, aby se vaše objekty oddělily a nesloučily do jednoho objektu.

Obr. 7

Materiály

Jsem docela přímočarý a velký fanoušek jednoduchých nastavení! Vzorové shadery jsou tedy velmi jednoduché, skládají se z difuzní mapy, desaturované a smíchané s černou. Stejná mapa je barevně opravena a invertována v kanálu drsnosti. Připraveno.


Obr. 8

Normální mapa by zde byla přehnaná, ale neomezujte se na prozkoumávání materiálů ve scéně.


Obr. 9

Zde vidíte dřevěný materiál použitý na židle a stůl - tmavé dřevo s matným odleskem odhaluje strukturu a texturu dřeva Na dalším obrázku vidíte dvakrát tolik materiálů, které mohou být zajímavé, závěsy podsvícené slunečním zářením - z reverzibilního materiálu.


Obr. 10

Chcete-li dosáhnout tohoto efektu, musíte nastavit model stínování na "Podpovrch" a přidat konstantní uzel s hodnotou menší než 1 a odkaz na vlastnost neprůhlednosti vašeho materiálu. Na sklo v popředí je použit velmi jednoduchý materiál skla:


Obr. 11

Má poměrně tmavou difúzní barvu, nulovou drsnost a vysokou hodnotu zrcadlení. Také jsem aplikoval Fresnelův uzel s hodnotou 1,5 pro řízení opacity a lomu jako v reálném životě. Existuje mnoho složitějších způsobů, jak získat realističtější sklo - ale upřímně jsem měl problémy se získáním kontroly nad parametry, takže se zdálo, že toto jednoduché sklo fungovalo docela dobře. Poznámka: Zvolil jsem režim Two Sided a nastavil režim průsvitného osvětlení "TLM Surface". na kartě Podrobnosti v levém panelu.


Obr. 12

Materiál, který chci ukázat, je materiál, který byl aplikován na podlahu, chci to ukázat, protože je to jediný materiál, na který je aplikována normální mapa


Obr. 13

Zde vidíte materiál s rozptýlenou barvou, hrubou texturou a normální mapou. Barva je světle šedá s hodnotou 4. Drsnost vypadá trochu složitější: Nalevo vidíte stejnou mapu, třikrát větší, s uzlem TexCoord. Červený kanál je vynásoben ostatními a poté připojen jako alfa v interpolaci lineárního (Lerp) uzlu, aby se smíchaly jejich hodnoty. 0,3 a 0,2 v tomto příkladu získáme jemný hlučný odraz na podlaze desek. Poté jej zjemníme pomocí uzlu „Power“, abychom získali správnou míru drsnosti, a tento materiál také vyšel dobře, je znovu vystaven působení TexCoord a poté nasazen přes uzel „FlattenNormal“, aby na povrchu získal pouze tenký reliéf. materiál. Příprava modelu Před přidáním objektů na scénu je vždy nejlepší rozmístit materiály geometricky. Stačí to udělat jednou a můžete aplikovat různé materiály. Je to rychlý proces: Zde můžete vidět, jak důležité je použít na své objekty různá ID materiálu, abyste různé materiály umístili tam, kam patří!


Obr. 14

Budování scény Zkrátka importujte vše dohromady. Nejprve musíte přetáhnout geometrii do místnosti. Nejlepší způsob, jak sestavit scénu, je přetáhnout do prázdné scény.


Obr. 15

Polygony vnější části stěn zde nejsou vidět - jak jsem vysvětlil výše: jsou pouze jednostranné pro lepší výpočet Lightmass V takových případech by bylo dobré nastavit rozlišení Lightmap (získané skenováním). velké objekty s vysokou hodnotou, u stěn jsem například nastavil hodnotu 2048 .

Obr. 16

Jak bylo uvedeno výše, problémem může být „únik světla“. Abych tomu zabránil, umístil jsem černé skříňky po celém pódiu. Zvenku vypadá trochu špinavě, ale uvnitř je čistý ;)


Obr. 17

Osvětlení a jeho parametry

Nastavení osvětlení je také docela jednoduché: použil jsem "Koola metodu" - kombinaci slunce a světelných bodů v přední části okna pro simulaci toku světla. Je velmi efektivní a snadno se ovládá! Nyní je pro výpočet globálního osvětlení důležitých pouze několik nastavení

Obr. 18

Výrazně jsem zvýšil odražené paprsky a kvalitu osvětlení. Také jsem snížil vyhlazování na 0,6. Detaily jsou lépe definované a stíny se tolik nevymývají. Upravil jsem také přímé osvětlení v dynamickém stínu, abych získal lepší stíny. To je také důležité pro pohyb světla později v animaci!

Obr. 19

Posledním krokem před kliknutím na „Vytvořit“ je nastavení kvality osvětlení na „Výroba“.

Obr. 20

To by mělo vést k plynulejšímu osvětlení ve skutečnosti, když jsem se poprvé dostal do tohoto bodu, byl jsem potěšen! To je vlastně silná stránka tohoto motoru: vzrušovat vás! Možnost pohybovat se uvnitř mého "renderu" v reálném čase byl opravdu radostný okamžik! Následné zpracování Jednou z největších funkcí je možnost aplikovat korekci barev a efekty fotoaparátu přímo v editoru. To lze provést pomocí PostProcessVolume v globálním nastavení. Provedl jsem několik úprav sytosti, lemování a vinětace, barevnosti a vypnul automatickou expozici nastavením minimální a maximální hodnoty na 1 a zvýšil celkový jas nastavením kompenzace expozice na přibližně 1,42. Také jsem přidal zvýraznění, které považuji za úžasné, protože vše se děje v reálném čase!


Obr. 21

Nastavení animace Díky schopnosti volně se pohybovat ve scéně je animace velmi snadným a příjemným úkolem díky okamžité zpětné vazbě prostředí v reálném čase. Jako častému uživateli kompozičního softwaru mi netrvalo dlouho, než jsem si zvykl na integrované nástroje a nastavil animace. První věcí, kterou jsem měl udělat, bylo vytvořit Matinee Actor (sada nástrojů pro vytváření videosekvencí).

Obr. 22

Když otevřete Matinee, uvidíte okno se sekcí sledování a editorem křivek.


Obr. 23

Nastavení kamery a animace je jednoduché. Pohyb je řízen pomocí klíčových snímků a křivek stejně jako v jiných animačních programech. Editační práce se provádějí pouze v editoru Matinee.


Obr. 24

Můžete vidět dráhu kamery přímo v editoru a ovládat úpravy za běhu Po hrubé animaci v Matinee exportuji animaci jako .AVI a dokončím ji v Premiere a přizpůsobím ji hudbě.

Závěr

Celý proces od exportu z 3ds Max a importu do Unreal Engine 4, práce se stíny a osvětlením, vytvoření animace a následné zveřejnění na YouTube mi zabral asi den. Tato rychlost je v ArchVIZ neslýchaná a odráží klíčový potenciál, který leží v srdci používání Unreal Engine 4 pro práci s vykreslováním Neexistence vykreslování ve fázi „výroby“ obrázků skutečně činí proces tvorby velmi flexibilním a svobodným. Rychlý výsledek našeho počínání je skutečnou revolucí Neustále testujeme a přemýšlíme o možnostech uplatnění tohoto typu tvorby a technologického postupu v naší každodenní práci. Existuje mnoho možných aplikací a velmi rádi bychom je prozkoumali! Lasse, xoio


Při práci na projektu se architekti a designéři uchylují k metodě prezentace, jako je 3D vizualizace. Nejčastěji se jedná o statický obrázek získaný pomocí vizualizérů vRay, MentalRay, Corona a dalších.

Tento článek se zaměří na vizualizaci architektonických projektů pomocí Unreal Engine. Podívejme se na všechna pro a proti a také se podělme o své dojmy a zkušenosti na příkladu hotového projektu:

Modelování

UE4 přijímá 3D modely ve formátu .obj a .fbx.

Objekty můžete modelovat a exportovat v libovolném 3D editoru (3ds Max, Blender, Maya atd.) Je žádoucí, aby model měl dobrou topologii a polygony v rozumných mezích (pokud mluvíme o interiérech, pak hlavní objekty, jako např. pohovka, postel atd. by neměla přesáhnout 100 tisíc trojúhelníků, protože to výrazně ovlivňuje výkon). Je samozřejmě lepší provést retopologii každého modelu ručně, ale pro dosažení přijatelného výsledku lze použít i automatické nástroje, programy nebo pluginy.

Všechny modely musí mít sken, čím je hladší, tím lepší je kvalita textury a při pohledu dopředu světla a stíny, které jsou v Unreal Engine předem spočítány.

Materiály

K sestavení logiky v UE4 používají systém uzlů Modrák. Nahrazuje potřebu programování, ale nevylučuje schopnost psát v C++.

Níže jsou uvedeny hlavní shadery používané ve scéně, na které je postavena Modrák:

Strom:



Protože k vytvoření reliéfních povrchů motor vyžaduje pouze normální mapu, je možné procedurálně vytvořit tuto mapu z černobílého obrázku pomocí uzlu NormalFromHeightmap

Mořený kov:



V tomto příkladu byla použita černobílá mapa smíchaná s číselnými hodnotami a aplikována na vlastnosti Kovová a Hrubost.

Sklo:



Průhlednost materiálu je ovlivněna vlastností Opacity, která je řízena plovoucím uzlem (hodnota od 0 do 1)

Následují příklady čtyř základních vlastností, které určují fyzikální povahu materiálu. Jejich kombinací různými způsoby je možné vytvořit téměř jakýkoli možný typ fyzického povrchu v reálném světě.

Základní barva Kovový Spekulární Drsnost

Osvětlení

Scéna používá tři typy osvětlení:

Po umístění všech objektů a světelných zdrojů je nutné vypočítat scénu:

Jedná se o druh renderovacího analogu, který vypočítává interakce všech statických světelných zdrojů se statickými modely. Jednoduše řečeno vrhá a vypaluje stíny.

Pokud se po vykreslení model nebo zdroj světla posune nebo odstraní, stín zůstane a scéna se bude muset přepočítat.

Příklad:

Interaktivní

Pro vylepšení architektonického řešení doporučuji přidat některé interaktivní prvky, jako je otevírání a zavírání dveří, hudba a různé zvukové a vizuální efekty. Níže se podíváme na některé z nich.

1. Otevírání a zavírání dveří
Zvažte jednoduchou možnost, kdy se dveře automaticky otevřou, pokud se hráč přiblíží, a zavřou, pokud se hráč vzdálí:

Samotné dveře se skládají ze dvou prvků: statického modelu dveřního otvoru a interaktivního dveřního křídla, jehož logika je popsána v Modrák.

V komponenty Výkres obsahuje statický 3D model dveřního křídla a obrázek Krabice, který hraje roli spouštěče:

Struktura uzlu vypadá takto:


Za kolizi se spouštěčem jsou zodpovědné uzly OnComponentBeginOverlap a OnComponentEndOverlap.
Timeline_0 je animace s funkcí Float Track (New Track 0).
Make Rot vytvoří rotaci podél libovolné osy, v tomto případě osy Z (Yaw).

Funkce Float Track (New Track 0):


Hodnota se změní z 0 na -90 stupňů během 1 sekundy

Vše, co musíme udělat, je zkompilovat Modrák a přidejte jej do scény a zarovnejte jej přesně s dveřmi.

2. Zvukové efekty
Svůj projekt můžete okořenit přidáním Okolní zvuk. Pusťte si například nevtíravou hudbu na pozadí nebo přidejte zvukový efekt při otevírání/zavírání dveří.

3. Post-processing
V širokém smyslu je post-processing vše, co se děje po hlavních krocích konstrukce obrazu.
Následné zpracování můžete provádět buď ve fotoaparátu, nebo pomocí bloku Objem po zpracování, přidáním do projektu a úpravou rozměrů. Zadáním tohoto bloku zahájíte proces následného zpracování.

Například blok Objem po zpracování se zvýšeným jasem se doporučuje instalovat ve špatně osvětlených místnostech:

Tak Objem po zpracování vypadá na scéně:

Unreal Engine 4 podporuje mnoho efektů pro následné zpracování, ne všechny se vám mohou hodit, ale některé z nich uvedu:

  • Viněta- ztmavení nebo zesvětlení okrajů rámu
  • Hloubka ostrosti- vše co je blíže nebo dále než zaostřovací vzdálenost postupně ztrácí ostrost a je rozmazané
  • Květ- světlo přijímané z jasných světelných zdrojů
  • Odlesk objektivu- reprodukuje efekt lomu slunečního světla do čočky fotoaparátu
  • Film (hluk)- vytváří animovaný šum, simulující filmovou kameru

Pojďme si to shrnout

Navzdory zjevné složitosti práce vypadá Unreal Editor 4 přátelsky. A s rostoucím výkonem počítačového hardwaru může vykreslování GPU změnit tradiční způsob práce vizualizérů, návrhářů a architektů.

Z mínusů bych rád poznamenal několik bodů. V tuto chvíli není dosažení fotorealistického obrázku jednoduché, ale pokud se do projektu vrhnete po hlavě a věnujete tomu více času, pak

Textury můžete importovat pomocí tlačítka "Importovat" v prohlížeči obsahu. Unreal 4 podporuje širokou škálu formátů textur: od .tgas a .png po .psds a .jpg. Jedním z důležitých tipů je zajistit, aby byly normální mapy komprimovány jako TC Normalmap, aby se zabránilo vizuálním chybám v enginu. Také mějte na paměti, že pokud vaše rozlišení textury není násobkem dvou (například 1024x349), nepoběží nebo nebudou mít vlastnosti MipMap.

  1. Úspora paměti: Textury v balíčku kanálů

Jednou z věcí na Unrealu je míra kontroly, kterou máte při vytváření vlastních materiálů. Když vytvoříte více černobílých masek pro textury, jako je drsnost nebo přenos, můžete ušetřit paměť skrytím každé masky v samostatném kanálu R, G nebo B a poté přistupovat ke každému kanálu této textury samostatně.

  1. Fyzicky založené vykreslování

S příchodem nových možností vykreslování v motorech, jako je Unreal 4, si fyzické vykreslování získalo širokou popularitu.

Poznání toho, jak přesně by měly vypadat fyzikální vlastnosti materiálů s maskami drsnosti a kovovosti, lze přirovnat k tomu, jak fungovaly herní enginy v minulé generaci. Tyto znalosti pomáhají udržet materiály realistické v různých světelných podmínkách.

  1. Opětovné použití textury

Dalším úžasným prvkem Material Editoru Unreal 4 je to, že umožňuje opětovné použití textur. To vám pomůže nejen ušetřit paměť, ale také ušetřit čas. Někdy může být červený kanál z textury rockového albeda použit jako černobílá maska ​​pro drsnost. Texturu šindelů z Photoshopu lze snadno aplikovat na cihlu a lze ji také smíchat s jinou texturou, aby se spojila s ostatními prvky.

  1. Nepřidávejte zbytečné textury

Někdy některé textury nejsou potřeba. U 100% nekovových materiálů, jako je dřevo nebo špína, lze texturu kovu v Material Editoru nahradit jednoduchou konstantou s plovoucí desetinnou čárkou a hodnotou 0. Stejný princip lze aplikovat na více verzí stejného materiálu. Nepotřebujete samostatné normální mapy, například pro tři druhy cihel, které se liší barvou. Pro všechny můžete použít jednu normální mapu.

  1. Vytvoření sady základních materiálů

Jeden způsob, jak ušetřit čas a práci- vytvoření základní sady materiálů, které lze použít pro různé předměty. Když začnu projekty, vytvořím základní materiál pro každý typ objektu, který potřebuji. Například, pokud bych dělal přírodní scénu, chtěl bych získat základní materiály pro terén, rekvizity nebo vegetaci. Samozřejmě budete muset tuto sadu vždy přidávat za pochodu, ale většinu procesu dokončíte.

  1. Opětovné použití materiálu

Skvělou vlastností základního materiálu je jeho schopnost měnit se v reálném čase. Tyto změny můžete použít k rychlému testování mnoha různých hodnot, aniž byste museli materiál znovu kompilovat. Kdykoli používám obtížný materiál, mám vždy připravenou zkušební kopii. Potřebuji to, abych zablokoval realističtější základní hodnoty pro konečný materiál.

  1. Komentáře a organizace materiálů

Pro složité materiály nabízí Unreal 4 velmi užitečné organizační nástroje. Výběrem skupiny uzlů a stisknutím klávesy C umístíte tyto uzly do komentáře, který pak lze posouvat jako skupinu a barevně odlišit. Komentáře (a jednotlivé uzly) mohou obsahovat základní textová vysvětlení.

  1. Funkce materiálů

Materiálové funkce lze volat vícekrát za účelem provedení specifické sady instrukcí. Vytvářejí se mimo materiál v Prohlížeči obsahu, ale pak je lze zavolat za účelem jejich zjednodušení. Mohou obsahovat vlastní vstupy a mohou být skvělým způsobem, jak ušetřit čas, když potřebujete volat více opakujících se operací.

  1. Listové materiály

Listí může být jednou z nejobtížnějších věcí, protože... Zajistit správné zobrazení v jakémkoli herním enginu není vůbec snadné. V UE4 verze 4.18 existuje Foliage Shading Model, který tento úkol usnadňuje. Vřele doporučuji, protože podporuje podpovrchový přenos, což je ve většině případů výhodné. Dále doporučuji přidat do vaší scény oblohové světlo, které pomůže vyvážit některé tmavší oblasti sítě listů, které mohou být ve stínu.

  1. Barva vertexu

Přístup k barvám Vertex v materiálech- jedna z mých oblíbených funkcí v Unreal 4. Mohou být neuvěřitelně výkonné, když se používají kreativně. Jejich všestrannost je obrovská, od okolní okluze až po maskování větru a světového offsetu pro listoví. Jsou užitečné zejména při míchání textur. Barvy vertexů lze importovat z externího 3D softwaru nebo je importovat a kreslit v editoru.

  1. Detailní difuzní a normální

Protože můžete upravit nastavení UV texturování, můžete vylepšit detaily materiálu smícháním další sady textur. Obvykle se jedná o difúzní nebo normální mapy, které se pak střídavě překrývají na základní. Můžete použít libovolnou metodu, jako je funkce Overlay Blend, zatímco podrobné normální mapy lze aplikovat přidáním červených a zelených kanálů k základně.

  1. Míchání textur v materiálech

Chcete kombinovat textury v editoru materiálů, ale znáte pouze režimy prolnutí Photoshopu? Epic předčil vaše očekávání. Spolu s mnoha užitečnými materiálovými funkcemi obsahuje většinu režimů prolnutí, které znají všichni uživatelé Photoshopu. Od Overlay po Linear Dodge je lze nalézt v okně palety uvnitř Material Editoru. Mohou být zvláště užitečné pro přidání detailů do vašich materiálů.

  1. Znalost typů světelných zdrojů

Unreal nabízí čtyři různé typy světla pro použití v prostředích:Směrové, bodové, bodové a nebeské světlo. Směrové světlo Skvělé pro venkovní prostory nebo jakýkoli neobvyklý zdroj světla. Světlo Bod je všesměrový a Místo podobný tomu, ale má omezení definovaná kuželem. Sky světlo lze použít k přidání světla do prostředí a zachycení vzdálených částí vaší mapy. Vlastní Cubemaps jsou také podporovány.

  1. Přidání mlhy do vaší scény

Existuje standardní způsob, jak vytvořit obvyklou hustou mlhu, kterou všichni známe. Unreal 4 nabízí dva další způsoby, jak přidat mlhu do vaší scény. Atmospheric Fog reaguje na směrový úhel a intenzitu osvětlení. Dokáže vytvořit mlhu na základě skutečného okolního atmosférického světla. Height Fog poskytuje trochu více kontroly barev a umožňuje vám přidat jednodušší efekt mlhy, který bude méně hustý v horních částech mapy a hustší ve spodních částech.

  1. Vytváření Smart Light Shafts

Světelné paprsky nebo " boží paprsky “ mohou být mocným vizuálním nástrojem a jsou vytvářeny částicemi ve vzduchu osvětlenými určitými zdroji světla. V Unreal 4 je lze vytvořit několika způsoby. Nejběžnějším způsobem je umožnit jim využít vlastnosti směrového světla. Mohou být také vyrobeny pomocí geometrie a chytrých materiálů.

  1. Snímání ve vysokém rozlišení

Přestože lze z Matinee získat vlastní rozlišení videa, existuje rychlý a snadný způsob, jak vytvořit záznam ve vysokém rozlišení přímo z editoru. Kliknutím na malou šipku dolů v levém horním rohu výřezu otevřete malou rozevírací nabídku. V dolní části můžete otevřít okno snímku obrazovky s vysokým rozlišením. Odtud lze pořizovat snímky obrazovky ve vysokém rozlišení a odesílat je do složky projektu: složka project/saved/Screenshots.

  1. Úprava barev a vyhledávacích tabulek

Konečné barvy vykreslení lze upravit na základě uměleckých preferencí. I když existují možnosti pro základní úpravy, jako je kontrast a odstín, vlastní korekci barev lze provést pomocí vyhledávacích tabulek barev. Tyto tabulky umožňují komplexní převod barev a lze je vytvořit pomocí základního souboru dostupného na webu Epic Unreal 4 a ve Photoshopu nebo jiných programech pro úpravu obrázků.

  1. Úprava světelných přechodů a světel

Světelné přechody a zvýraznění se staly populární ve hrách a 3D a lze je povolit a přizpůsobit v UE4 pomocí vyhrazených zón následného zpracování- objemy po zpracování. Světelný tok je nastavitelný téměř podle všech charakteristik. Velikost, barvu, intenzitu a práh lze změnit a lze je dokonce použít k maskování textur nečistot a simulaci špinavých čoček. Stejně tak lze zapnout i blesky a upravit jejich tvar a intenzitu.

  1. Vytváření hloubky ostrosti

Unreal 4 podporuje gaussovské i vlastní ostření. Obě tyto možnosti existují v nastavení Post Process Volumes. Je třeba také poznamenat, že nástroje, které pomáhají s rozmazáním tenkých objektů před vzdálenými objekty, mohou někdy způsobit problémy. Při aplikaci hloubky ostrosti například na listy nebo jiné podobné prvky je třeba dávat pozor.

  1. Automatická expozice a adaptace oka

Automatické řízení expozice je ve výchozím nastavení povoleno a simuluje přizpůsobení oka jasným nebo tmavým oblastem. Efekt je ohromující, ale může vytvářet neustále se měnící vizuální proměnné, které je obtížné vnitřně udržovat. Po zpracování můžete upravit rozsah expozice v nastavení hlasitosti. Lze jej deaktivovat nastavením minimálního jasu rovného maximu. Offset expozice lze použít k úpravě základních nastavení expozice.

  1. Světelné funkce

Jednou zajímavou funkcí v Unreal 4 je podpora materiálů s funkcí osvětlení. Tyto materiály fungují jako masky pro světlo a lze je použít k výrobě čehokoli od vlastních barevných variací světla až po stíny mraků na zemi. Vytvářejí se nastavením funkce Material Domain na Light v Material Editoru a lze je použít s bodovými, bodovými a směrovými světly.

  1. Ušetřete čas kopírováním a vkládáním

Další funkcí, kterou byste měli vědět o Unreal 4, je to, že jakýkoli objekt v jedné úrovni lze zkopírovat a vložit přímo do jiné úrovně v rámci stejného projektu. Zobrazí se se stejnými vlastnostmi a na stejném místě.

A nejlepší na tom je, že vše zkopírované z Unrealu lze vložit do textového dokumentu. Tento text lze poté zkopírovat a znovu vložit do jiné úrovně Unreal 4.

  1. Režim prohlížení a vizualizace renderovacích průchodů

Znalost toho, co tvoří váš obrázek, je nedílnou součástí práce v jakémkoli 3D enginu a práce v odloženém rendereru, jako je UE4, umožňuje některé užitečné režimy zobrazení. Stisknutím Alt a 1-8 přepínáte mezi různými režimy zobrazení, jako je Neosvětlené nebo pouze osvětlení, ale pokud v okně Výřez klepnete na tlačítko Režim zobrazení, můžete si prohlédnout jednotlivé průchody rendrování. To může být užitečné pro sledování široké škály materiálů, jako je drsnost.

I když je Unreal neuvěřitelně výkonný, ne každá pracovní stanice je vytvořena stejně. Pokud máte problémy s výkonem motoru, první věcí, kterou povolíte, jsou možnosti škálování motoru v Nastavení na panelu nástrojů Editoru. Vypnutí některých možností, jako je antialiasing, může věci opravdu urychlit. Dalším trikem je seskupení mnoha objektů do světového obrysového nástroje. Poté můžete přepnout jejich viditelnost a zlepšit tak výkon.

V tomto článku vám ukážu, jak vytvořit výběr cesty v UE4. Vývojáři se k tomu obvykle používají dvěma různými způsoby:

  • Vykreslete síť dvakrát. V tomto případě se nejprve vykreslí jedna síť (se standardním materiálem) a poté druhá (s mírně zvětšeným měřítkem a emisním materiálem)
  • Je použit algoritmus rozpoznávání hran. Je specifikován jako materiál pro následné zpracování

V tomto článku budu hovořit o druhé metodě, protože... snáze se integruje do stávajících projektů. Tato příručka je napsána s předpokladem, že jste obeznámeni se základy UE4 (konkrétně s tím, jak funguje Material Editor). Kromě toho, abychom pochopili, jak implementovat algoritmus rozpoznávání obrysů ve formě materiálu UE4, budou užitečné také základní znalosti v oblasti zpracování obrazu.

Základní kroky

Implementace efektu výběru obrysu ve formě materiálu pro následné zpracování probíhá v několika fázích:

  • Vytvořte materiál pro následné zpracování, který zvýrazní obrys objektů se zapnutou možností Render Custom Depth.
  • Přidání tohoto postprocesního materiálu do seznamu Blendables, který se nachází v parametrech bloku Post Process Volume.
  • Povolení parametru Vlastní hloubka vykreslení pro všechny skeletové a statické sítě, pro které chcete vybrat obrys

Níže vysvětlím každý z těchto kroků podrobněji. Pokud jste zde pouze pro stažení materiálu, můžete přejít přímo do sekce „Ke stažení“, která se nachází na samém konci článku.

Hloubková mapa

UE4 má skvělou funkci, která umožňuje vykreslit jednotlivé sítě do samostatné hloubkové mapy a následně ji použít v materiálech. Tato hloubková mapa obsahuje informace o vzdálenosti mezi jednotlivými pixely – jak ve světových souřadnicích, tak v zorném poli kamery. Typická hloubková mapa vypadá asi takto:

Naše hloubková mapa vypadá podobně, až na to, že zobrazuje pouze objekty, které mají povolenou možnost Render Custom Depth:

Hloubková mapa výrazně zjednodušuje použití efektů jako je výběr vrstevnic, na jejichž vytvoření se tento článek zaměřuje.

Tvorba materiálu

Nejtěžší etapa. Vytvoříme materiál, který bude implementovat operátor Sobel, složený s vlastní hloubkovou mapou. Jinými slovy, na vlastní hloubkovou mapu použijeme filtr detekce hran.

Začněme s konvolučním algoritmem. Skrývá se za tím docela pěkná matematika, ale ve skutečnosti jde o několik jednoduchých kroků

  • Vezměte pixel P
  • Vezměte 8 pixelů PN vedle pixelu P
  • Hodnoty pixelů P a PN vynásobíme hodnotami v konvolučním jádře (tj. provedeme 9 násobení)
  • Výsledné hodnoty sečtěte
  • Vrácení výsledku

Nejprve musíte použít hloubkovou mapu. To se provádí jednoduše: přidejte uzel textury scény a připojte jej k emisní barvě materiálu. Nastavte také ID textury scény na CustomDepth.

Nyní použijeme sousední pixely. K tomu můžete použít parametr UVs v uzlu Scene Texture. Problém je ale v tom, že UV parametry fungují v souřadnicích textury, tzn. použijte hodnoty od „0.0“ (levý horní roh textury) do „1.1“ (pravý dolní roh textury). Musíme tedy vzít převrácené hodnoty výšky a šířky textury, vynásobit je posunem od středu buňky (-1,-1) a pak je přidat k UV souřadnicím aktuálního pixelu. Tímto způsobem vybereme levý horní pixel.

V Material Editoru to bude vypadat takto:

Nyní uděláme totéž pro zbývajících sedm sousedních pixelů. V důsledku toho bude výpočet offsetu pro všech osm sousedních pixelů vypadat takto:

Máme tedy sadu UV parametrů pro všechny sousední pixely, takže nyní můžeme použít data z vlastní hloubkové mapy. Vytvořil jsem k tomu jednoduchou materiálovou funkci: jako vstup bere UV souřadnice a pak vrací hodnotu zpracovávaného pixelu.

Pokud tuto funkci použijeme ke zpracování dat ze sousedních pixelů, pak budeme mít ve skutečnosti všechna potřebná data pro rozpoznání obrysů. Nyní vytvoříme další hmotnou funkci, která provede konvoluci.

Na levé straně jsou dvě sady vstupních parametrů. Prvních 9 vektorů jsou jednoduše hodnoty pixelů, které budeme zpracovávat. Další 3 vektory se používají pro hodnoty konvolučního jádra. Je to v podstatě jen matice 3x3, ale protože UE4 Material Editor nemá datový typ pro matici, vytvořil jsem si vlastní pomocí parametrů Vector3.

Takže jsme shromáždili všechny části algoritmu. Teď už je zbývá jen spojit je uvnitř finálního materiálu.

Sobelův operátor v podstatě zahrnuje dvě konvoluční funkce: vertikální a horizontální. Pravděpodobně jste si všimli, že jediný rozdíl mezi těmito dvěma je vstup konvolučního jádra.

Nyní tyto dvě hodnoty spojíme.

Dále otevřete editor materiálu, vytvořte vektor pomocí vypočítaných hodnot a poté vraťte délku vektoru. Výsledkem bude černý obrázek s obrysem kolem sítí, které mají povolenou Render Custom Depth. Zbývá jen smíchat výsledný efekt s výsledným obrázkem. V mém případě použiji operátor "IF", ale algoritmus můžete vložit svým vlastním způsobem. Není na tom nic složitého.

POZNÁMKA: Ujistěte se, že váš materiál je v doméně Post Process a ne v doméně Surface (což znamená „doména materiálu“; toto je nastavení, pomocí kterého konfigurujete, k čemu bude materiál použit). To lze změnit ve vlastnostech materiálu.

Nastavení scény

Nyní, když je materiál připraven, jej musíme přidat do seznamu postprodukčních efektů scény. Vyberte blok Post Process Volume pro vaši scénu a najděte položku Blendables. Přidejte novou komponentu do seznamu Blendables a poté vyberte materiál, který jsme vytvořili ze seznamu. Pokud ve scéně nemáte blok následného zpracování, vytvořte jej. Také se ujistěte, že vlastnost Unbound bloku Post Process je nastavena na hodnotu true. V opačném případě hráč uvidí efekt řádku pouze v případě, že je uvnitř bloku Post Process Volume.

Chcete-li zkontrolovat výsledek, umístěte do scény nějakou síť a zapněte její parametr Render Custom Depth.

Modrák

Scénu jsem nastavil tak, aby se efekt řádku objevil na statickém záměrném kříži pouze v případě, že na něj hráč mířil. Rozhodl jsem se použít šablonu FPS. Navíc jsem do plánu MyCharacter přidal funkci Trace. Je volána časovačem, který tiká každých 0,1 sekundy a kontroluje, zda se hráč dívá na statickou mřížku. Pokud to vypadá, parametr Render Custom Depth je nastaven na „true“. Pokud hráč přestane mířit na záměrný kříž, proměnná Render Custom Depth se změní na „false“. Jak to celé funguje, se můžete podívat v souboru, odkaz na něj najdete níže v sekci „Ke stažení“.




Nahoru