Postavte si DOOM...Jan Petkov
Předně - DOOMa ne! Nechte jej odpočívat na jiné platformě, ať si jiní kazí zrak
a vkus. Vypůjčil jsem si pouze název PC-hry a to proto, abych vás přilákal do
stručného úvodu k problematice vytvoření si vlastního polovirtuálního 3D světa
na Amize. Co k tomu potřebujete?
Velký výkon procesoru. Pro naše potřeby je nejnižší minimum procesor MC68020
a fast ramka. Abyste dostali z procesoru maximum, naučte se programovat v
assembleru. Pokud tyto vstupní podmínky nesplňujete, otočte stranu anebo si
počkejte na turbokarty s PowerPC.
Dalším krokem je vytvoření 3D světa a jeho reprezentace v počítači. Váš nový
svět nebude dokonalý, s tím se musíte smířit. Jak moc se bude dokonalosti blížit
závisí na výkonnosti procesoru a především na vaší šikovnosti. Není-li procesor
v Amize tak výkonný, je třeba spokojit ve v jednodušším světem nebo s menším
oknem, volba je na vás.
Mezi nejjednodušší virtuální světy patří jednopodlažní prostor typu Wolfenstein
se stěnami do pravého úhlu. Textury jsou pouze na stěnách. Více realistický, ale
o něco náročnější na výkon procesoru je svět, kde jsou navíc podlaha i strop
pokryty texturou. Troufáte-li si ještě na větší sousto, vytvořte si vícepodlažní
systém. A není-li ani toto pro vás dost dobré, přidejte si do prostoru možnost
pohybu v libovolném směru.
Následuje oživení světa. Návrh vašeho virtuálního prostoru musí být tak
dokonalý, aby umožňoval pohyb nejen vám, ale i ostatním obyvatelům, ať už dobrým
nebo zlým. Nezapomeňte na to, že je sem tam nutné zjistit případnou kolizi mezi
živými či neživými objekty. Autoři 2D her ve valné většině případů nahrazují
přímou detekci kolize mezi složitými objekty testem na kolizi mezi jednoduchými
obdélníkovými oblastmi. Chce to ovšem navrhnout grafický objekt tak šikovně, aby
jeho pokrytí obdélníky bylo co nejjednodušší. Určitá velkorysost ve prospěch
hráče se toleruje, tak si např. ve hře Project-X klidně můžete obrousit ocasní
plochu o skály.
V našem 3D světě se nám nabízí při řešení kolizí podobná alternativa - nahradit
vložný objekt soustavou kvádru. Bohužel jakýkoli pravoúhlý objekt není imunní
proti operaci prostorové rotace. Existuje lepší řešení - místo kvádru použijeme
kouli, která zůstává stejnou koulí ať se děje co ve děje.
Tímto je simulace virtuálního světa téměř u konce. Chybí pouze zobrazit jej na
placatém displeji monitoru. V zásadě se tento krok skládá ze dvou základních
částí.
V prvé řadě je potřeba celý prostor podřídit zákonům perspektivy a ořezat jej do
velikosti zobrazovaného okna.
Pak je teprve možné přikročit k vykreslovaní jednotlivých objektů v
respektováním pravidel viditelnosti a realističnosti. Na obrazovce se setkáme se
třemi základními typy objektů. Tím nejjednodušším je normální bitmapový obrázek
nebo animace, která nepodléhá zákonům 3D světa. Vesměs se jedná o různé typy
zbraní, kterými disponuje samotný hráč. Do druhé skupiny spadají zase bitmapové
objekty, na které je už ovšem nutné aplikovat zákony viditelnosti a perspektivy.
Především to znamená, že je nutné tyto objekty v reálném čase zvětšovat a
zmenšovat. Mezi tyto objekty většinou patří nepřátelé, různé lampy na stropech,
hořící ohniště apod. Tyto objekty mají jednu společnou vlastnost - tu, že
striktně nedodržují prostorové otočení, jinými slovy je vidíme pořád ze stejné
strany, ať se točíme, jak se točíme. Mezi poslední objekty patří vertikální a
horizontální stěny, podlaha a strop. Právě tato skupina objektů zaručuje onu
proslulou reálnost bludiště.
Tolik zhruba ke stručnému úvodu do virtuálních 3D světů. Bohužel není možné
rozepsat se o každém kroku podrobněji, to by nám musel šéfredaktor věnovat
několik dalších čísel Amiga Review. Ke každé tématice naštěstí existuje odborná
literatura, mohu vás např. nasměrovat do vydavatelství Grada. Příště se podíváme
na tématiku, o které ve v knížkách tolik nedozvíme - „texturování stěn“ aneb
falešné pokrytí obecné plochy texturou. Vytlačiť článok
Pozn.: články boli naskenované ako text a preto obsahujú aj zopár chýb. Taktiež neručíme za zdrojové kódy (Asm, C, Arexx, AmigaGuide, Html) a odkazy na web. Dúfame, že napriek tomu vám táto databáza dobre poslúži.
Žiadna časť nesmie byť reprodukovaná alebo inak šírená bez písomného povolenia vydavatela © ATLANTIDA Publishing
none
|