Hrátky s Unreal Engine Část 3 - Konec modrobílých kachlíků
Článek Hrátky s Unreal Engine Část 3 - Konec modrobílých kachlíků

Hrátky s Unreal Engine Část 3 - Konec modrobílých kachlíků

Aleš Ulm

Aleš Ulm

11. 6. 2010 03:00 34

Ve třetí části našeho výukového seriálu o Unreal Development Kitu si probereme práci v Content Browseru, řekneme si něco o assetech, jejich uspořádání a naučíme základy práce s texturami. Povíme si i něco málo o samotných 3D modelech, jejich variantách a potom samozřejmě i jejich umístění ve 3D scéně.

Reklama
Reklama

První díl série Hrátky s Unreal Engine - Část I: První krok do nereálna najdete zde.
Druhý díl Hrátky s Unreal Engine - Část II: Příběh dvou místností najdete zde.
Třetí díl Hrátky s Unreal Engine Část III: Konec modrobílých kachlíků najdete zde.
Čtvrtý díl Hrátky s Unreal Engine Část IV: Skriptujeme s Kismet najdete zde 
Pátý díl Hrátky s Unreal Engine Část V: Trocha pohybu neškodí najdete zde
Šestý díl Hrátky s Unreal Engine VI: Kamera, akce, jedem… najdete zde
Sedmý díl Hrátky s Unreal Engine VII: Klid před bouří najdete zde

V předchozím díle jsme skončili vytvořením dvou spojených místností a přesně tam dnes navážeme. Pokud jste si scénu s místnostmi uložili, otevřete ji a pokračujte s ní dál. Jestli takovou scénu nemáte (nebo si chcete postup jejího vytváření zopakovat, což není nikdy na škodu), otevřete předchozí díl a za pár minut jste připraveni.

Už posledně jsme byli nuceni přiznat, že modrobílé „kachlíky“ na stěnách, stropě i podlaze nejsou úplně ten vzhled, který jsme si pro své místnosti představovali. Dnes si proto, mimo jiné, místnosti otexturujeme.

Spojení „něco otexturovat“ se při vývoji her používá neustále a obvykle se pod ním rozumí přiřadit nějaký obrázek (texturu) modelu nebo jeho části a případně nastavit, kde přesně se na modelu zobrazuje která část textury. Problémem ale je, že grafik potřebuje často modelu přiřadit víc informací, než právě jenom to, jakou má texturu. Zmíněné informace se týkají třeba toho, jak se na modelu projevuje světlo. Představte si dvě bedny. Jedna je obyčejná dřevěná a druhá je ocelový kontejner. U bedny, která má nějaký druh metalického povrchu, je žádoucí, aby na ní světlo vytvářelo odlesky. Pokud je hladce vyleštěná, může v sobě navíc odrážet své okolí.

Hrátky s Unreal Engine Část 3 - Konec modrobílých kachlíků

Jednou z věcí, o kterých jste nepochybně slyšeli, jsou normálové mapy. U některých textur se dá očekávat, že povrch, na kterém jsou ve hře naneseny, je plochý – jako například u hladké betonové zdi. Jindy, třeba u jasně vyrýsovaných cihel, bychom byli rádi, kdyby se textura tvářila „plasticky“ a pod určitými úhly vypadala, jako že obsahuje různé výrazné výstupky či naopak díry. Toho dosáhneme právě pomocí normálových map, které jsou vlastně další dodatečná informace, kterou je nutné k textuře připojit. Právě protože se předpokládá, že u textury může být podobných dodatečných informací a úprav celá řada (k tomu se ještě také dostaneme), nepřiřazujeme v UDK objektu přímo texturu (i když to dříve šlo), ale materiál, jehož je textura součástí. Různé materiály mohou používat stejnou texturu – představte si znovu dřevěnou bednu, tentokrát ve dvou variantách. Jedna je suchá a druhá mokrá nebo oslizlá. Texturu mají stejnou (tedy stejná prkna, hřebíky, nápisy), liší se však právě v tom, jak se na nich projevuje světlo.

Teď už víme, že různým plochám naší místnosti budeme přiřazovat různé materiály (s různými texturami). Ještě než k tomu přistoupíme, je ale nutné podstoupit jeden krok – vysvětlit si alespoň základy práce s Content Browserem.

Hrátky s Unreal Engine Část 3 - Konec modrobílých kachlíků

Content browser je jednou ze záložek okna, které se otevře při startu editoru nebo pomocí tlačítka v horní liště (černý čtvereček vedle ikony dalekohledu). Otevřete si ho.

To, co teď před sebou vidíte, je – na první pohled možná trochu komplikovaně vypadající – místo, odkud přistupujete ke všem assetům vašeho projektu. Asset je sice nepříliš hezké a nepříliš české, ale zato obecně používané slovo označující objekty, které se využívají ve scéně. Jsou to modely, zvuky, textury, materiály, fonty a další. Některé jiné enginy vám při práci s assety nabízí poměrně velkou svobodu. Pokud chcete v takovém enginu například vložit do úrovně zvuk, často si můžete projít libovolné lokální disky a vybrat třeba wav, který pak použijete. Tenhle způsob práce může sice na první pohled vypadat sympaticky, ale přináší jisté problémy. 

Hrátky s Unreal Engine Část 3 - Konec modrobílých kachlíků

Upozornění - extrémní bordel v assetech může být zdraví škodlivý! Hra Mortal Kombat vs. DC Universe

Předně záleží hlavně na vaší disciplíně, jak si v takových assetech udržíte pořádek a řád. Nikdo vám například obvykle nebrání zmíněný wav, který už v nějaké scéně používáte, bez sebemenšího problému smazat z exploreru nebo Total Commanderu. V lepším případě uvidíte později nějaké varování a nepodaří se vám úroveň spustit, v horším hra spadne v momentě, kdy se engine pokusí poprvé otevřít a přehrát již neexistující zvuk. Druhý problém je ještě zásadnější. Takový engine předpokládá, že přesně znáte požadované specifikace assetů, které od vás očekává. Nekontroluje tedy, jak přesně je kódován zmíněný zvuk, nebo jestli třeba nepoužíváte texturu se špatným rozměrem. Výsledkem takového počínání je pak často již zmíněné varování nebo pád.


Podstata práce s assety je v UDK jiná. Když víte, že budete chtít ve hře použít nějaký zvuk či obrázek, nejdříve ho do UDK naimportujete. V ten moment se provede kontrola, a pokud není výsledek uspokojivý, jste na to upozorněni a můžete problém odstranit. V editoru (a skriptu) pak pracujete už jen s naimportovanými a tedy „ověřenými“ assety. Assety se uchovávají ve velkých souborech (představte si je třeba jako zip či rar archivy), které se nazývají Package. Když importujete nový asset do UDK, vyberete si package do kterého se po importu uloží (nebo vytvoříte package nový). Díky tomu můžete mít zvlášť třeba zvuky, specifické modely atp. Package je obyčejný soubor (s koncovkou .upk), který se dá libovolně kopírovat a přenášet.

Důležité je také si říci, že až budete v budoucnu připravovat svou hru k šíření, tak se UDK samo chytře postará o to, aby u hry nezabíraly zbytečně místo takové assety, které jste sice někdy naimportovali (nebo už v UDK byly), ale které se ve vaší hře nakonec nepoužívají. Proto vás může nechat v naprostém klidu skutečnost, že UDK je nacpáno assety z Unreal Tournamentu III. Na jedné straně máte okamžitě k dispozici spoustu modelů, zvuků a textur, ale zároveň si můžete být jistí, že až bude třeba, tak vám nebudou nikde překážet. Někteří uživatelé UDK si stěžují na to, že by chtěli začít úplně na zelené louce, se svými modely a bez zbytečného balastu. Vyřezat ale z UDK opravdu veškeré nepotřebné assety je zbytečně komplikované a pro nás v tuhle chvíli i kontraproduk­tivní, takže se s nimi radši naučíme žít.

Hrátky s Unreal Engine Část 3 - Konec modrobílých kachlíků

Takže, jak se vlastně s Content Browserem pracuje? Hlavní část plochy (okna si můžete zvětšovat a zavírat dle libosti) jsou přímo assety. Ty, u kterých to dává smysl (model, materiál, textura, emitor částic) jsou obvykle znázorněné svým náhledem, ostatní (například zvuky) jen obrázkem s popisem. Pokud pracujete v nižším rozlišení a díky velikosti náhledu vidíte assetů příliš málo najednou, změňte velikost náhledu vpravo dole na obrazovce. Pomocí ikon vlevo dole můžete navíc upravovat, zda vidíte jen náhledy, jen názvy assetů a jejich popis nebo kombinaci obou.

U assetu je důležitý jeho typ (tedy jestli je to třeba zvuk nebo textura). Ten se vypisuje v horní části náhledu, nebo název typu tvoří přímo náhled.

Horní část obrazovky slouží k vyhledávání a filtrování. K vyhledávání není moc co dodat – díky němu naleznete asset obsahující v názvu zadaný textový řetězec. Filtrování zase využijete k tomu, abyste viděli jen assety určitého typu a ostatní skryli. Tagy představují další možnost jak si assety lépe zorganizovat.

Ve spodní levé části jsou vypsané všechny nalezené package spolu s adresářovou strukturou tak, jak jsou v ní uloženy. Je dobré všimnout si toho, že některé mají název vyvedený bíle, jiné šedě. Šedivá barva upozorňuje, že obsah daného package nebo jeho části není v editoru aktuálně úplně nahrán a že pokud se do něj podíváme, nemusíme vidět všechno, co obsahuje. To zní jako zbytečná komplikace, že? Nicméně důvod je poměrně prostý. Assetů jsou u velkých projektů tisíce a není nutné ani žádoucí mít připravené k práci všechny najednou, protože obvykle se v jednu chvíli pracuje jen s jejich zlomkem. Proto, pokud chcete pracovat s packagem který není plně nahraný, klikněte na jeho název pravým tlačítkem a vyberte Fully Load.

Hrátky s Unreal Engine Část 3 - Konec modrobílých kachlíků

Ukázka světa vytvořeného v Unreal Engine 3 - hra neuvedena

Jakmile máte vybraný nějaký package, vyhledávání a filtrování se provádí pouze v něm. Pokud byste kdykoliv chtěli procházet všechny assety, stačí kliknout na velké tlačítko vpravo nahoře s popisekem All Assets.

Velmi důležitá oblast je My Collections. Asi si dokážete představit, že práce s Content Browserem může být občas trochu těžkopádná. Proto máte možnost si často používané assety přetáhnout do tohoto okna, kde je budete mít rychle k dispozici. Jejich umístění se tím nezmění – vytváříte vlastně jen jakýsi odkaz. Tlačítkem plus můžete navíc přidat adresář a vše tak ještě více zpřehlednit. Oblast Shared Collections funguje obdobně, ale pro celý vývojářský tým.


Tak, dost bylo teorie, ne? Je třeba udělat z té modrobílé koupelny něco zajímavějšího. Pokud si pořádně prohlédnete jednotlivé package, naleznete nejrůznější připravené materiály. Abychom ale nemuseli nic pracně hledat, pro ukázku použijeme materiály, které jsou snadno dostupné v oblasti Shared Collection pod UDK Cool Materials (už brzo se naučíme vytvářet si své vlastní). Podívejte se, co se vám tam nabízí. Některé z materiálů obsahují různé rozanimované efekty. Příslušný efekt uvidíte, pokud nad náhledem materiálu chvíli podržíte kurzor myši.

Vyberte si nějaký materiál kliknutím na jeho náhled, pak ho s přidrženým tlačítkem přetáhněte na libovolnou plochu vašich místnosti a tlačítko pusťte. Ha! Textura je na místě! Asi se shodneme, že tohle nebylo nijak zvlášť komplikované…

Hrátky s Unreal Engine Část 3 - Konec modrobílých kachlíků

Tímhle způsobem si můžete upravit obě místnosti podle svého gusta, ale měli byste vědět ještě něco. Pokud někam aplikujete animovaný materiál, možná si všimnete, že se animuje, jen když pohybujete kamerou a pak po chvíli ustane. Děje se to proto, že editor ve standardním režimu pauzuje animace různých objektů, aby zbytečně neubíraly výkon a práci v editoru tak nezpomalovaly. Pokud chcete, aby se materiál animoval stále, je třeba zapnout odpovídajícím tlačítkem mód Real Time.

Druhá a poslední věc, o které si teď ještě v souvislosti s aplikovaním materiálů něco řekneme, je to, jakým způsobem se zobrazují na vybraném povrchu. Může se stát, že vámi umístěný materiál (respektive jeho textura) nesedí přesně tak, jak byste si představovali – může být třeba posunutá, špatně natočená nebo má jinou velikost. V takovém případě klikněte na plochu, kde je aplikovaná pravým tlačítkem a vyberte možnost Surface Properties.

Hrátky s Unreal Engine Část 3 - Konec modrobílých kachlíků

V oblasti Pan můžete texturu posouvat v jedné ze dvou os (tyto „osy“ se označují U a V, ale klidně si je pro zjednodušení představujte jako X a Y na dvojrozměrném obrázku). Posun lze dělat o různý počet jednotek. Nenechte se zmást tím, že to jde pomocí tlačítek pouze do jednoho směru – textura se opakuje, takže je jedno, kterým směrem se dostanete do požadované pozice (pro pohyb na druhou stranu přidržte shift nebo můžete pod tlačítkem Custom zadat zápornou hodnotu).

Oblast Rotation umožňuje měnit rotaci textury a převracet ji. V oblasti Scaling si upravíte její velikost podle svých potřeb a pak volbou Apply provedete. Ostatní volby zatím nechte tak, jak jsou. Dostaneme se k nim později.

To bychom měli texturování CSG modelů. Ještě než je teď pro nějakou dobu uzavřeme, zmíníme možnost editovat štětce. Nabídka štětců, o které jsme se minule zmínili, nepředstavuje totiž zdaleka všechny možnosti, které lze využít. Pokud se ikonou kostky v liště nalevo přepnete do editačního režimu CSG modelů (Geometry mode), můžete váš aktuálně zvolený štětec upravovat – lze pak například vybrat některé jeho vrcholy a různě je popřesunovat a tím vlastně vytvořit štětec nový. Pokud vás tahle část zajímá, můžeme se k ní později vrátit a podrobněji ji rozebrat nebo si můžete najít informace přímo na webu s dokumentací k UDK. Důvod, proč se jí nebudeme detailnějši věnovat v tuto chvíli je prostý – předně už se musíme posunout zase o kus dále a navíc se pomocí tohoto postupu se dají vytvořit modely, které mohou způsobovat jisté problémy a je celkem zbytečné v této chvíli zacházet do detailů a vysvětlovat, čemu je přesně třeba se vyhnout. Každopádně je ale dobré vědět, že tato možnost existuje a samozřejmě vám nikdo nebrání si s ní hrát dle vlastního uvážení.


V tuhle chvíli už umíte vytvořit třeba dům, nebo, pokud nemáte co na práci, celý hrad. V hlavě vám ale zcela jistě hlodá několik poměrně zásadních otázek: Takhle málo detailní ale přece nemůže má úroveň zůstat, ne? Copak takhle vypadají moderní hry? Copak jsou složené z pravidelných chodeb? A co venkovní svět?

Nechci vám příliš lichotit, ale to jsou opravdu dobré otázky… Přestože kvalitním materiálem se dá docílit i u ploché zdi iluze jisté detailnosti (například právě výše zmíněnou normálovou mapou), prostředí vytvořené jen tímto postupem by bylo snesitelné snad možná jako vnitřek nějaké neosobní vesmírné stanice. A to je trochu málo.

Když potřebujete detailní nebo dokonce rozhýbané modely, musíte si vypomoci modely vytvořenými v externích modelovacích programech. Velká část her dnes využívá kombinaci obou – jak CSG modelů (obvykle trochu nesprávně označovaných jako BSP geometry), tak modelů importovaných (abychom zabránili matení pojmů, pojďme na chvíli říkat CSG modelům prostě CSG a importovaným modelům prostě modely, ano?). Příkladem může být právě Unreal Tournament III. Když budete mít chvíli čas, otevřete si nějakou z dostupných úrovní – například DM-Deck.

Hrátky s Unreal Engine Část 3 - Konec modrobílých kachlíků

Zmáčkněte W (nedržte přitom tlačítko myši). Tahle klávesa skrývá a zobrazuje veškeré statické modely. To, co v úrovni teď zbylo, je právě pouze CSG. Asi vidíte sami, kde všude je použité – tam, kde stačí delší rovné úseky zdí a podlah s opakovatelnou texturou. Detailní zbytek (a že je ho dost) je pak tvořen importovanými modely. Jsou ale i hry, které CSG nepoužívají vůbec. Tím se dostáváme k poměrně zásadní otázce. Jaké jsou výhody a nevýhody CSG oproti modelům?

Víme, že v prostorách vytvořených pomocí CSG se počítá dopředu viditelnost a to je rozhodně dobrá věc. I když se otázce kolizí budeme věnovat později, hned teď si řekneme, že většina objektů ve hře, jak CSG, tak modelů, potřebuje mít definovanou nějakou kolizní obálku – tedy tvar, se kterým hráč a ostatní pohyblivé objekty kolidují. Výpočet kolizí (zjednodušeně řečeno tedy průběžné zjišťování, kdy se jeden objekt dostal tak blízko jinému, že už nemůže dál, protože je blokován) není nijak jednoduchá záležitost a je tím náročnější, čím komplikovanější jsou tvary, u kterých se zjišťuje, jestli spolu nejsou v kontaktu. Protože CSG je tvořena opravdu jednoduchými objekty, je i zjišťování kolizí relativně nenáročné. Dalším nezanedbatelným plusem je to, že si pomocí CSG můžete v editoru sami „vymodelovat“ svou (byť relativně holou a jednoduchou) úroveň a nepotřebujete žádný externí program. To samé platí o přiřazení textury, které je opravdu triviální a lze provést, jak jsme si ukázali, přímo v editoru během pár vteřin.

Hrátky s Unreal Engine Část 3 - Konec modrobílých kachlíků

Nevýhody jsou víceméně zřejmé. CSG rozhodně není určeno pro vytváření detailních modelů. Samozřejmě vám nikdo nebrání své krásné místnosti vybavit nábytkem a drobnými předměty vytvořenými pomocí různých základních štětců, ale věřte mi, že to opravdu není dobrý nápad. Čím komplexnější je vaše CSG, tím déle si počkáte při jejím sestavování a přepočítávání. A věřte mi, že časy, o kterých mluvím, mohou být opravdu obludné. Tím spíše, že některá nastavení, která teď při těchto výpočtech používáme, jsou nastavena na nízkou kvalitu. Později (až se budeme chtít naší úrovní třeba někomu pochlubit) je budeme potřebovat mít provedené kvalitněji a tím se vše ještě více zpomalí. Poslední nevýhodou, kterou zmíním, je celkem zásadní skutečnost, že CSG se oproti modelům (respektive některým z nich – ale o tom dále) nemůže animovat ani nijak hýbat. To koneckonců dává smysl – když engine dopředu pracně spočítá viditelnost různých oblastí levelu s ohledem na aktuální tvary CSG, změnou těchto tvarů by se získaná informace stala nepoužitelnou.

Myslím, že už asi chápete, kdy a na co se používají modely a kdy stačí CSG. Pokud ne, nezoufejte. V budoucnosti se k tomu ještě vrátíme.


Takže ty modely… Co si k nim ještě řekneme? Jsou dva základní druhy. Statické modely (Static mesh) a skeletální modely (Skeletal mesh).

Statické modely jsou… no, prostě statické (ehm, tedy většinou). Zásadní rozdíl oproti skeletálním modelům je v tom, že nemohou být animovány, nicméně v určitých případech mohou být součástí animace. Zvláštní věta, že? Kdybychom to řekli úplně jednoduše, tak to znamená, že nemohou měnit tvar (jejich vertexy mají vůči sobě neměnnou pozici), ale objekt jako celek může být animován tak, že se pohybuje, rotuje a mění se jeho velikost (to sice platí jen pro určité druhy statických modelů, ale k tomu se dostaneme později). Představte si dveře tvořené statickým modelem. Jejich tvar zůstane vždy nezměněn ale, pokud je do scény vložíte jako speciální typ statického modelu, se kterým se dá pohybovat, můžete je třeba zasouvat nebo vytáčet do strany.

Hrátky s Unreal Engine Část 3 - Konec modrobílých kachlíků

Skeletální modely se používají pro objekty, které jsou skutečně animované – tedy které mění svůj tvar v čase. Skeletální se nazývají kvůli kostře, kterou obsahují. Většina z vás tohle asi ví, takže jen v rychlosti – původním způsobem animování postav a objektů byla tzv. vertexová animace. V podstatě se jednalo o to, že pro jednotlivé vertexy (vrcholy) modelu byla někde uložena informace, kde se mají v který okamžik nacházet a tím se měnil jeho tvar. Tato metoda však byla dost náročná (hlavně na objem uložených informací) a nesla s sebou řadu nevýhod, proto se později objevila právě zmíněná skeletální animace. Ta vyžaduje, aby model obsahoval virtuální kost či kosti spojené klouby. Vertexy modelu obsahují informaci ke které kosti (či více kostem) patří a pohybují se s ní. Pro animaci pak není třeba ukládat informace o pohybu jednotlivých vertexů, ale pouze o tom, jak se pohybují kosti a pozice vertexů se dopočítají. 

Pokud tedy například postava pohne hlavou, ve skutečnosti dostává pokyn, aby pohnula kostí, kterou má v hlavě a všechny ovlivněné vertexy (třeba ty tvořící nos) se pohnou podle ní. To s sebou přináší celou spoustu výhod. Kromě nesrovnatelně menšího množství dat, kterými jsou jednotlivé pohyby zaznamenány či umožnění kvalitních plynulých předchodů mezi jednotlivými animacemi, se ke kostem váže ještě další vychytávka a totiž ta, že kosti jsou spojeny navzájem v určité hierarchii. To umožňuje, že pokud pohnete kostí v paži, pohnou se s ní i kosti ovládající předloktí, dlaň i jednotlivé prsty. 

Hrátky s Unreal Engine Část 3 - Konec modrobílých kachlíků

Asi znáte ragdoll, tedy mód, ve kterém na postavy působí různé externí síly a ony se pak při nárazech kroutí, ohýbají, rozhazují rukama a dělají vůbec různé veselé kousky. Ten je možný právě díky téhle hierarchii a protože to je zatraceně zábavná věc, tak si ho poměrně brzy také zprovozníme. Pro úplnost ale ještě uvedu, že zmíněné animace kostí bohužel musíte, stejně jako modely, připravovat mimo UDK.

Hrátky s Unreal Engine Část 3 - Konec modrobílých kachlíků

Vím, to bylo zatraceně hodně teorie, ale je toho před námi ještě hodně, a abychom se později ve všem pěkně orientovali, musíme začít tu zjednodušenou teorii probírat už teď. Budiž vám útěchou, že příští díl bude naopak hodně o práci s UDK, protože se podíváme na základy animování objektů, na skriptovací editor Kismet a vytvoříme si… hm, co bychom si tak… Jasně, uděláme si svou vlastní nefalšovanou interaktivní střelnici, co říkáte?


Aha, vlastně ještě jedna věc… Na dnešek jsem slíbil nějaké překvapení, něco zajímavého. No dobrá. Zatím jsme jen stavěli, takže co začít trochu ničit? Nic proti SimCity, ale pořádné FPSko je na uklidnění občas lepší, ne? Ještě že jsme si řekli něco o těch statických modelech a naučili se používat Content Browser, protože to hned teď využijeme.

Hrátky s Unreal Engine Část 3 - Konec modrobílých kachlíků

Otevřete Content Browser. Do vyhledávacího okna v jeho horní části zadejte „Barrel“ (bez úvozovek) a potvrďte. Objeví se vám výsledek hledání – na prvním místě statický model pojmenovaný Barrel01. Označte ho. Klikněte na podlahu v místnosti pravým tlačítkem a rozbalte položku Add Actor. Tam vyberte Add Rigid Body (následované delším pojmenováním našeho barelu). Pokud by tam náhodou tahle možnost chyběla, jako poslední položka v menu bude zřejmě Load a název barelu – abyste mohli vložit model, musí být v editoru nahraný. Zvolením téhle položky ho nahrajete a tím by se měla zpřístupnit možnost vložit ho jako Rigid Body.

Máte ho tam? Fajn. Ale jak říká lidové přísloví – „jeden barel v úrovni, žádný barel v úrovni“ a proto trochu přidáme. Využijte fígl, který jsme se naučili už dříve. Zatímco je barel označený, přepněte si na mód posunu objektu a pak s pomocí klávesy Alt vytvořte několik jeho kopií. Co třeba zkusit, kolik jich dokážete naskládat na sebe?

Potom si úroveň spusťte a zkuste se do nich vystřelit zbraní. Celkem zábavné, ne? A co teprve když změníte úvodní zbraň (například kolečkem myši) na Physics gun a levým tlačítkem do barelů strkáte, zatímco je pravým ve stylu gravity gunu z Half-Life přetahujete úrovní…

Hrátky s Unreal Engine Část 3 - Konec modrobílých kachlíků

Možná si přitom všimnete jedné zajímavé věci. Pokud umístíte barel do vzduchu a pustíte level, bude tam prostě viset, dokud do něj nestřelíte, nebo dokud do něj „neťukne“ nějaký jiný. Je očividné, že hra nechává objekt „spát“ dokud na něj nezačne působit nějaká externí síla. To je sice trochu nerealistické, ale má to přinejmenším jeden dobrý důvod. Pokud budete chtít hráči vyskládat obří pyramidu z barelů, kterou pak může rozstřílet, můžete jednotlivé barely umístit tak, aby mezi nimi nebyly viditelné mezery a o žádnou velkou přesnost se nestarat. Hráč nepozná, že barely na sobě skutečně nestojí a jakmile do nich střelí, začnou se chovat tak, jak by čekal.

Pokud byste, na druhou stranu, nechali objekty simulovat (tedy nechali engine počítat jejich fyziku) hned při startu úrovně, staly by se s největší pravděpodobností dvě věci – obří pyramida by se vám někde rozpadla, protože byste s velkou pravděpodobností něco nepostavili přesně, ale co hůř – v jeden moment by se začalo simulovat najednou velké množství fyzikálních objektů (do doby, než by se dostaly do klidového stavu) a to by se na plynulosti hry už celkem znatelně podepsalo. Jestli ale chcete z jakéhokoliv důvodu tohle chování změnit a nechat barely padat hned po startu úrovně, otevřete si vlastnosti daného barelu (F4 nebo postupem, který jsme si ukázali dříve) a v oblasti Kactor zaškrtněte Wake On Level Start.

Hrátky s Unreal Engine Část 3 - Konec modrobílých kachlíků

Dark Void

No, nechci to zakřiknout, ale mám jisté podezření, že se do našeho výtvoru začíná zvolna vkrádat určitá míra zábavnosti, tedy toho, co dělá hru hrou. A protože jsme tedy očividně na správné stopě, tak v tom budeme příště pokračovat. A do té doby – Happy barrel hunting!

Reklama
Reklama
Reklama
Reklama

Byl detekován AdBlock

PCTuning je komunitní web, jehož hlavním příjmem je reklama. Zvažte prosím vypnutí AdBlocku, ať můžeme všem čtenářům i nadále přinášet kvalitní herní zpravodajství, články a videa.

Děkujeme!

Váš tým PCTuning