Izometrická grafika pro videohry - Isometric video game graphics


Izometrická grafika videohry je grafika používaná ve videohrách a pixelových uměních, která používá paralelní projekci , ale která úhel pohledu odhalí aspekty prostředí, které by jinak nebyly viditelné z pohledu shora dolů nebo z bočního pohledu , čímž vzniká trojice -rozměrový efekt . Navzdory názvu nejsou izometrické počítačové grafiky nutně skutečně izometrické - tj. Osy x , y a z nemusí být nutně vzájemně orientovány 120 °. Místo toho se používají různé úhly, přičemž nejčastější je dimetrická projekce a poměr pixelů 2: 1. Někdy se také používají termíny „3/4 perspektiva“, „3/4 pohled“, „ 2,5D “ a „pseudo 3D“, ačkoli tyto termíny mohou mít v jiných kontextech mírně odlišný význam.

Jakmile byla izometrická projekce běžná, stala se méně příchodem výkonnějších 3D grafických systémů a jak se videohry začaly více soustředit na akci a jednotlivé postavy. Videohry využívající izometrickou projekci-zejména počítačové hry na hrdiny-však v posledních letech na scéně nezávislého hraní zaznamenaly oživení .

Přehled

Výhody

Odpovídající úhly natočení 3D kamery pro skutečnou izometrickou projekci (vlevo) a formu dimetrické projekce, která se běžně vyskytuje ve videohrách a pixelovém umění (vpravo). Výraz arctan (sin (45 °)) se rovná ≈35,264 °.
Izometrická kostka
Skutečná izometrická kresba krychle. Všimněte si 120 ° úhlů oddělujících osy x , y a z , stejně jako stejné délky každého z okrajů krychle. Výraz arctan (sin (≈35.264 °)) nebo arctan (sin (arctan (sin (45 °))))) se rovná 30 ° a tvoří poměr pixelů ≈1.732: 1.
Dimetrická kostka
Forma dimetrické projekce běžně používaná ve videohrách a pixelovém umění. Pouze dva úhly oddělující osy x , y a z jsou stejné a pouze některé délky hran krychle jsou stejné. Výraz arctan (sin (30 °)) se rovná ≈26,565 ° a tvoří poměr pixelů 2: 1.

Na dobře provedeném izometrickém systému by hráč nikdy neměl myslet na kameru. Měli byste být schopni rychle a intuitivně přesunout pohled na to, na co se musíte podívat, a nikdy nezvažovat mechaniku fotoaparátu. Pokus o spuštění plně 3D kamery při hraní taktické bitvy v reálném čase určitě způsobí požár helmy u nových hráčů, protože jsou rychle přemoženi mechanikou.

Trent Oster, spoluzakladatel společnosti BioWare a zakladatel společnosti Beamdog

V oblasti počítačových a video her a pixelového umění se tato technika stala populární díky snadnosti, s jakou lze vytvářet 2D sprite a dlaždice, které reprezentují 3D herní prostředí. Protože paralelně promítané objekty se nemění ve velikosti, když se pohybují po oblasti, není nutné, aby počítač škáloval skřítky nebo prováděl složité výpočty nutné k simulaci vizuální perspektivy . To umožnilo 8bitovým a 16bitovým herním systémům (a nově i kapesním a mobilním systémům) rychle a snadno vykreslit velké herní oblasti. A i když problémy s hloubkovou záměnou paralelní projekce mohou být někdy problémem, dobrá hra a design úrovní to mohou zmírnit.

Kromě toho, i když to není omezeno pouze na izometrickou grafiku videohry, předem vykreslená 2D grafika může mít vyšší věrnost a používat pokročilejší grafické techniky, než jaké je možné na běžně dostupném počítačovém hardwaru, a to i při hardwarové akceleraci 3D . Podobně jako moderní CGI používané ve filmech lze grafiku jednou vykreslit na výkonném superpočítači nebo vykreslovací farmě a poté mnohokrát zobrazit na méně výkonném spotřebitelském hardwaru, například na televizorech , tabletových počítačích a chytrých telefonech . To znamená, že statická předem vykreslená izometrická grafika často vypadá lépe ve srovnání se svými současnými protějšky vykreslovanými v reálném čase a může časem lépe stárnout ve srovnání se svými vrstevníky. Tato výhoda však dnes může být méně výrazná, než tomu bylo v minulosti, protože vývoj v grafické technologii vyrovnává nebo produkuje klesající návratnost a současná úroveň grafické věrnosti se pro mnoho lidí stává „dost dobrou“.

A konečně, použití izometrické nebo téměř izometrické perspektivy ve videohrách má také herní výhody. Například ve srovnání s hrou čistě shora dolů přidávají třetí rozměr a otevírají nové možnosti míření a plošinovky . Za druhé, ve srovnání s videohrou z pohledu první nebo třetí osoby vám umožní snadněji postavit a ovládat velké množství jednotek, například celou skupinu postav v počítačové hře na hrdiny nebo armádu přisluhovačů strategická hra v reálném čase . Kromě toho mohou zmírnit situace, kdy se hráč může rozptylovat od základní mechaniky hry tím, že musí neustále spravovat nepraktickou 3D kameru. Tj., Hráč se může soustředit na hraní samotné hry, a ne na manipulaci s kamerou hry.

V dnešní době je oživení izometrické projekce výsledkem čistých, hmatatelných přínosů designu, nikoli čistě zdrojem nostalgie.

Nevýhody

Některé nevýhody pre-tavené izometrické grafice je to, že, jak rozlišení displeje a poměry stran obrazu i nadále vyvíjet, statické 2D obrazy musí být re-tavené pokaždé, aby se držet krok, nebo potenciálně trpí účinky pixelace a vyžadují proti -šíření . Překreslení grafiky hry však není vždy možné; jako tomu bylo v roce 2012, kdy Beamdog přepracovaný Bioware je Baldur brána (1998). Beamdog postrádali kreativní umělecká aktiva původních vývojářů (původní data byla ztracena v záplavě) a rozhodli se pro jednoduché 2D grafické škálování s „vyhlazováním“, aniž by se znovu vykreslovaly skřítky hry. Výsledky byly ve srovnání s grafikou původní hry určitou „neostrostí“ nebo nedostatkem „ostrosti“. Na polygonální izometrické videohry vykreslované v reálném čase to však nemá vliv, protože změna jejich rozlišení zobrazení nebo poměrů stran je ve srovnání triviální.

Rozdíly od „skutečné“ izometrické projekce

Projekce běžně používaná ve videohrách se mírně liší od „skutečné“ izometrické kvůli omezením rastrové grafiky . Řádky ve směrech x a y by neodpovídaly úhlednému pixelovému vzoru, pokud by byly nakresleny v požadovaných 30 ° k horizontále. Zatímco moderní počítače mohou tento problém odstranit pomocí vyhlazování , dřívější počítačová grafika nepodporovala dostatek barev ani dostatečný výkon procesoru k dosažení tohoto cíle. Místo toho by se pro kreslení čar osy x a y použil poměr obrazových bodů 2: 1, což by vedlo k tomu, že tyto osy budou v úhlu ≈26,565 ° ( arctan (sin (30 °)) ) k horizontále. (Herní systémy, které nepoužívají čtvercové pixely, by však mohly poskytovat různé úhly, včetně „skutečné“ izometrické.) Tato forma projekce je proto přesněji popsána jako variace dimetrické projekce , protože pouze dva ze tří úhlů mezi osy jsou si navzájem stejné, tj. (≈116,565 °, ≈116,565 °, ≈126,870 °) .

Historie izometrických videoher

Zatímco historie videoher zaznamenala některé trojrozměrné hry již v 70. letech, první videohry využívající odlišný vizuální styl izometrické projekce ve výše popsaném významu byly arkádové hry na začátku 80. let minulého století.

80. léta 20. století

Využití izometrické grafice ve videohrách začal s výskytem dat východu ‚s DECO Cassette System arkádové hry Treasure Island , který byl zveřejněn v Japonsku v září 1981, ale to nebylo propuštěno mezinárodně až v červnu 1982. První izometrické hry, které mají být uvolněny na mezinárodní úrovni byl Sega ‚s Zaxxon , což bylo výrazně více populární a vlivné; byl vydán v Japonsku v prosinci 1981 a mezinárodně v dubnu 1982. Zaxxon je izometrická střílečka, kde hráč letí vesmírným letadlem skrz rolovací úrovně. Je to také jedna z prvních videoher, které zobrazují stíny.

Další ranou izometrickou hrou je Q*bert . Warren Davis a Jeff Lee začali programovat koncept kolem dubna 1982, přičemž výroba hry začala v létě a poté vyšla v říjnu nebo listopadu 1982. Q*bert ukazuje statickou pyramidu v izometrické perspektivě, přičemž hráč ovládá postavu, která dokáže skákat po pyramidě.

Následující rok v únoru 1983 byla vydána izometrická plošinovka arkádová hra Congo Bongo , běžící na stejném hardwaru jako Zaxxon . Umožňuje hráčské postavě pohybovat se ve větších izometrických úrovních, včetně skutečného trojrozměrného lezení a padání. Totéž je možné v arkádovém titulu Marble Madness , vydaném v roce 1984.

2D (vlevo) a 3D (vpravo) souřadnice typického dimetrického videohry

V roce 1983 již izometrické hry nebyly exkluzivní na arkádovém trhu a také vstoupily do domácích počítačů, s vydáním Blue Max pro 8bitovou rodinu Atari a Ant Attack pro ZX Spectrum . V Ant Attack se hráč mohl pohybovat vpřed v libovolném směru rolovací hry a nabízet spíše volný pohyb než fixaci na jednu osu jako u Zaxxonu . Pohledy lze také měnit kolem osy 90 stupňů . ZX Crash časopis následně udělil to 100% v grafickém kategorii pro tuto novou techniku, známý jako „měkké pevné 3-D“.

O rok později ZX Spectrum vydalo Knight Lore , který je obecně považován za revoluční titul, který definoval následný žánr izometrických adventur. Po Knight Lore bylo na domácích počítačích k vidění mnoho izometrických titulů - do té míry, že podle výzkumníka Jana Krikkeho byl kdysi považován za druhý nejvíce klonovaný kus softwaru po WordStar . Dalšími příklady z nich byly Highway Encounter (1985), Batman (1986), Head Over Heels (1987) a La Abadía del Crimen (1987). Izometrická perspektiva se však neomezovala pouze na arkádové/dobrodružné hry; například strategická hra Populous z roku 1989 používala izometrickou perspektivu.

90. léta 20. století

Pixel art
Televizor nakreslený téměř izometrickým obrazovým prvkem 2: 1 . (Zvětšeno pro zobrazení struktury pixelů.)
Vykreslení scény napodobující perspektivu Fallout 2
3D vykreslování napodobování videohře Fallout ' s využívání trimetrická projekce a hexagonální mřížkou

V průběhu 90. let používalo několik úspěšných her jako Syndicate (1993), SimCity 2000 (1994), Civilization II (1996), X-COM (1994) a Diablo (1996) pevnou izometrickou perspektivu. Ale s příchodem 3D akcelerace na osobních počítačích a herních konzolách hry, které dříve používaly 2D perspektivu, obecně místo toho začaly přecházet na skutečné 3D (a perspektivní projekci ). To lze vidět na nástupcích výše uvedených her: například SimCity (2013), Civilization VI (2016), XCOM: Enemy Unknown (2012) a Diablo III (2012) všechny používají 3D polygonální grafiku; a zatímco Diablo II (2000) používalo 2D perspektivu s pevnou perspektivou jako její předchůdce, volitelně umožňovalo perspektivní škálování skřítků na dálku, aby jí propůjčilo vzhled „pseudo-3D“.

Také v průběhu devadesátých let se izometrická grafika začala používat pro japonské videohry na hraní rolí (JRPG) na konzolových systémech , zejména taktické hry na hrdiny , z nichž mnohé dodnes používají izometrickou grafiku. Mezi příklady patří Front Mission (1995), Tactics Ogre (1995) a Final Fantasy Tactics (1997) - z nichž posledně jmenovaný použil 3D grafiku k vytvoření prostředí, kde hráč mohl kameru libovolně otáčet. Jiné tituly jako Vandal Hearts (1996) a Breath of Fire III (1997) pečlivě emulovaly izometrický nebo paralelní pohled, ale ve skutečnosti používaly perspektivní projekci.

Nekonečný motor

Black Isle Studios a BioWare pomohly popularizovat používání izometrické projekce v počítačových hrách na hrdiny na konci devadesátých a na počátku dvacátých let minulého století. Tato studia v několika svých titulech používala herní engine Infinity Engine , vyvinutý společností BioWare pro Baldur's Gate (1998). Tento engine získal značnou trakci mezi hráči a od té doby se mnoho vývojářů pokusilo jej různými způsoby napodobit a vylepšit. Samotný Infinity Engine byl také přepracován a modernizován společností Beamdog v rámci přípravy na Baldur's Gate: Enhanced Edition (2012) - stejně jako jejich předělávky několika dalších klasických titulů Infinity Engine.

Dva další tituly Black Isle Studios, Fallout (1997) a Fallout 2 (1998), používaly trimetrickou projekci .

Kickstarter

S izometrickou projekcí je v novém tisíciletí stále aktuální i vydání několika nově crowdfundovaných rolí na Kickstarteru . Patří mezi ně série Shadowrun Returns (2013-2015) od Harebrained Schemes ; se Pilíře Eternity řady (2015-2018) a Tyranny (2016) o Obsidian zábava ; a Torment: Tides of Numenera (2017) od inXile Entertainment . Obsidian Entertainment i inXile Entertainment zaměstnaly nebo byly založeny bývalými členy Black Isle Studios a Interplay Entertainment. Zvláště společnost Obsidian Entertainment chtěla „vrátit vzhled a atmosféru her Infinity Engine jako Baldur's Gate , Icewind Dale a Planescape: Torment “. A konečně, několik pseudoizometrických 3D RPG, jako Divinity: Original Sin (2014), Wasteland 2 (2014) a Dead State (2014), bylo v posledních letech crowdfundováno pomocí Kickstarteru. Tyto názvy se od výše uvedených her liší tím, že místo paralelní projekce používají perspektivní projekci .

Použití souvisejících projekcí a technik

Porovnání několika typů grafické projekce . Mezi 3/4 pohledy je přítomnost jednoho nebo více 90 ° hlavních úhlů často dobrým indikátorem toho, že použitá perspektiva je šikmá projekce .

Pojem „izometrická perspektiva“ je často nesprávně aplikován na jakoukoli hru s - obvykle pevným - šikmým, režijním pohledem, který se zpočátku jeví jako „izometrický“. Patří sem zmíněné dimetricky promítané videohry; hry využívající trimetrickou projekci , například Fallout (1997) a SimCity 4 (2003); hry využívající šikmou projekci , například Ultima Online (1997) a Divine Divinity (2002); a hry využívající kombinaci perspektivní projekce a pohledu z ptačí perspektivy , například Silent Storm (2003), Torchlight (2009) a Divinity: Original Sin (2014).

Také ne všechny „izometrické“ videohry spoléhají pouze na předem vykreslené 2D skřítky. Existují například tituly, které používají polygonální 3D grafiku zcela, ale vykreslují svou grafiku pomocí paralelní projekce místo perspektivní projekce, jako například Syndicate Wars (1996), Dungeon Keeper (1997) a Depths of Peril (2007); hry využívající kombinaci předem vykreslených 2D pozadí a 3D vykreslených modelů postav v reálném čase, například The Temple of Elemental Evil (2003) a Torment: Tides of Numenera (2017); a hry, které kombinují 3D pozadí vykreslená v reálném čase s ručně kreslenými 2D postavičkami, jako jsou Final Fantasy Tactics (1997) a Disgaea: Hour of Darkness (2003).

Jednou z výhod šikmé projekce shora dolů oproti jiným téměř izometrickým perspektivám je to, že objekty lépe padnou do nepřekrývajících se čtvercových grafických dlaždic, což potenciálně eliminuje potřebu dalšího pořadí Z ve výpočtech a vyžaduje méně pixelů.

Mapování obrazovky na světové souřadnice

Hledání světových souřadnic

Jedním z nejběžnějších problémů s programováním her, které používají izometrické (nebo pravděpodobněji dimetrické) projekce, je schopnost mapovat mezi událostmi, které se dějí ve 2d rovině obrazovky, a skutečným umístěním v izometrickém prostoru, nazývaném světový prostor. Běžným příkladem je výběr dlaždice, která leží přímo pod kurzorem, když uživatel klikne. Jednou z takových metod je použití stejných rotačních matic, které původně vytvářely izometrický pohled v opačném směru, aby se bod v souřadnicích obrazovky změnil na bod, který by ležel na povrchu hracího plánu předtím, než byl otočen. Potom lze vypočítat světové hodnoty x a y vydělením šířkou a výškou dlaždice.

Další způsob, který je méně výpočetně náročný a může mít dobré výsledky, pokud je metoda vyvolána na každém snímku, spočívá na předpokladu, že čtvercová deska byla otočena o 45 stupňů a poté zmáčknuta, aby byla poloviční oproti původní výšce. Virtuální mřížka je na projekci překryta, jak ukazuje diagram, s osami virtual-x a virtual-y. Kliknutím na libovolnou dlaždici na středové ose desky, kde (x, y) = (tileMapWidth / 2, y), vytvoří stejnou hodnotu dlaždice pro world-x i world-y, která je v tomto případě 3 (0 indexováno) . Výběrem dlaždice, která leží ve virtuální mřížce o jednu pozici vpravo, se ve skutečnosti přesune o jednu dlaždici méně na světě-y a o jednu dlaždici více na světě-x. Toto je vzorec, který vypočítá svět-x tak, že vezme virtuální-y a přidá virtuální-x ze středu desky. Podobně se svět y vypočítá tak, že vezmeme virtual-y a odečteme virtual-x. Tyto výpočty měří od středové osy, jak je znázorněno, takže výsledky musí být přeloženy polovinou desky. Například v programovacím jazyce C:

float virtualTileX = screenx / virtualTileWidth;
float virtualTileY = screeny / virtualTileHeight;

// some display systems have their origin at the bottom left while the tile map at the top left, so we need to reverse y
float inverseTileY = numberOfTilesInY - virtualTileY;

float isoTileX = inverseTileY + (virtualTileX - numberOfTilesInX / 2);
float isoTileY = inverseTileY - (virtualTileX - numberOfTilesInY / 2);

Tato metoda se na první pohled může zdát neintuitivní, protože se berou souřadnice virtuální mřížky, nikoli původní izometrický svět, a neexistuje virtuální korespondence mezi virtuálními dlaždicemi a izometrickými dlaždicemi. Dlaždice na mřížce bude obsahovat více než jednu izometrickou dlaždici a podle toho, kde se na ni klikne, by se měla mapovat na různé souřadnice. Klíčem této metody je, že virtuální souřadnice jsou spíše čísla s plovoucí desetinnou čárkou než celá čísla. Hodnota virtual-x a y může být (3,5, 3,5), což znamená střed třetí dlaždice. V diagramu vlevo to podrobně spadá do 3. dlaždice na y. Když musí virtuální-x a y přidat až 4, svět x bude také 4.

Příklady

Dimetrická projekce

Šikmá projekce

Perspektivní projekce

Viz také

Reference

externí odkazy