Program 27 – ASE Loader
12.09.2003
Súbory ase vytvara 3ds max ako ASCII scene export. Je to textový formát. Všeobecne majú textové formáty oproti binárnym tú výhodu, že ich dáta sú uložené textovým popisným spôsobom a preto nie je problém importovať potrebné časti so súboru. Textové súbory sú zase väčšie a pomalšie sa načítavajú. Načítanie ase súboru som urobil, preto lebo 3ds max exportuje veľa rôznych dát, pričom načítavať ich s 3ds súboru je obtiažne, lebo poriadny popis neexistuje. Ďalšia nevýhoda 3ds je, že neobsahuje všetky informácie ( napr. chybajú normálové vektory).
3ds max obsahuje modul pre výpočet globálneho modelu osvetlenia – radiosity. To umožňuje docieliť veľmi realistické osvetlenie modelov. Jeho nevýhodou je, že je statické t.j. nie je možné hýbať so svetlom alebo s osvetľovanými predmetmi v realnom čase. 3ds max umožňuje vyrenderovať osvetlenie modelu do textúry ( vytvárať lightmap-i). Pre lightmap-i sa vygenerujú nové textúrové koordinácie. Vynásobením lightmap-i a základnej textúry docielime reálne osvetlenie modelu.
Ďalej v programe je použitá detekcia kolízie guli s modelom, pričom je lepšia ako v programe 21. Stará kolízia pracovala na princípe, že ak sa guľa nachádzala v polygóne tak sa presunula tak aby bola mimo polygónu bez ohľadu na pohyb. Ale ak guľa bola naraz v kolizii z viacerými polygónmi tak presunutie gule záviselo od poradia ich spracovania. To spôsobovalo zasekávanie sa okolo rohov a divné odrážanie na schodách. Občas sa “podarilo” prejsť aj cez schody. Nová kolízia sa počíta podľa smeru pohybu, zohľadňuje všetky polygóny, ktoré kolidujú s guľov pričom spracuváva ich v poradí ako do nich guľa vráža. Ak guľa narazí do polygónu potom sa po ňom šmýka až pokiaľ sa neskončí súčasný krok, alebo pokiaľ nenastane ďalšia kolízia.
V programe je aj gravitácia a skoky. Ak je gravitácia tak, okrem kolízie kamery s okolím testujem aj kolíziu so zemou. Ak sme na zemi môžeme vyskočiť. Ak nie sme na zemi tak účinkom gravitácie padáme dole.
zdrojové texty a program – 600kB bez jpeglibm.lib
model s 3ds max – 95kB