Mindkét engine több, mint 10 éves múltra tekint vissza és rengeteg játék, siker és tapasztalat áll mögöttük. Kezdetekkor a Quake engine volt népszerűbb azonban a Q3 sikersorozata után és az Unreal engine 3 megjelenésével megfordult a helyzet.
Mindennek több oka is lehetett, amelyek elemzéséhez nem értek.
Talán egyik közvetett ok lehet (a "miértet" lásd a legvégén), hogy a Quake4 engine (hivatalosan Doom3 engine-nek nevezik, de nevezhetnénk id Tech 4-nek is) és Unreal engine 3 alapvető különbségeket mutat térfelosztás és az abból következő renderelési optimizáció témakörében. A két kulcsszó: portál és antiportál.
A könnyebb megértéshez vegyük szemügyre mindkét engine pályajának felépítését.
A Q4E még mindig BSP-vel dolgozik mást nem is nagyon ismer ill. csak később lett kiegszítve külső tér rendereléssel. A BSP alapú térfelosztást - ahogy eddig is - kiegészíti portálokkal.
Az UE3 már csak korlátozott mértékben (vagy egyáltalán nem) használ BSP-t ily módon nincs is élesen megkülönböztetve a külső és belső tér emiatt itt portálok elhelyezésére nincs mód. Helyette antiportálokat használ a takarási feladatok elvégzésére. A térfelosztási módszere egyelőre ismeretlen.
És hogy mi is a portál és antiportál közötti alapvető különbség.
A portál segítségével
- végezhetünk térfelosztást vagyis
- gyorsan kereshetünk a térben adott pont körül avagy adott térfogattal
- azt a felület jelöli a térben, amelyen keresztül két térrész látszik egymásból és emiatt
- a takarási feladatok elvégzése gyors és egyszerű
A portál hátránya
- vagy speciális szerkesztőt igényel, ahol a portálokat a pálya szerkesztőjének kell megjelölni / generálni
- vagy egy hosszas utófeldolgozási lépés során kell megtalálni a lehetséges portálokat
- emiatt nehézkes ingame portálokat generálni
- csak belső terekre használható
Az antiportál tulajdonságai:
- azon felületet definiálja ami mögött biztosan nem látszik semmi
- nem igényel speciális szerkesztőt. Egyszerűen el kell helyezni a térben a pályaelemeket, amelyekből automatikusan elkészíthetőek egy antiportálok.
- teljesen dinamikus vagyis ingame bármikor áthelyezhetők (kivéve ha költséges hierarchiába vannak rendezve)
- minimális (vagy egyáltalán semmi) utófeldolgozást igényel
- külső és belső térben egyaránt használható
Az antiportál hátránya
- önmagában használva semmiféle térfelosztást nem biztosít vagyis szükséges mellé egy hatékony módszer, amely (többek között) gyors frustum vágást tesz lehetővé
Mindezekből elméletileg úgy tűnik, hogy az antiportál egy általánosabban és gyorsan alkalmazható technika a frustum cull gyorsítására azonban a térfelosztás hiánya nagy hátrány a portálokhoz képest.
A gyakorlat pedig majd eldönti, hogy tényleg így van-e...
PS:
Látható tehát, hogy a pályaszerkesztés UE3 alatt nagyságrendekkel egyszerűbben elvégezhető, mint Q4E esetén. Ez pedig, mint ahogy megtudtam (thx Askhandi^^) fontos tényező a játékkészítésben...
A technikai infókért pedig köszönet Tripx-nek^^