AMIGA REVIEW online
  Uvodná stránka     Software     Hry     Obaly     Download     Kniha návštev     Amiga na PC     Amiga Forever  

Zdvojená animácia

Peter Macsánszky

Budeme potrebovať: programy Imagine, ADPro, Arexx a Cygnus editor. Ďalšie komponenty: ľubovoľný model Amigy so 4 MB pamäti a harddiskom. Nezaškodí štipka programátorskej ambície a patričná dávka trpezlivosti. Toto všetko zamiešame a po niekoľkohodinovej námahe sa na obrazovke objaví fascinujúca animácia.

Áno, presne v tomto duchu bude písaný nasledovný článok. Pôjde o „kuchársky recept“ určený pre nadšencov počítačovej grafiky, ktorí sa neboja experimentovať s novými nápadmi. Úvodná veta presne vystihla podstatu, teda aké hardwarové a softwarové prostriedky sú nutné pre ďalšiu práce. Snáď upresniť by trebalo ešte cieľ našej práce. Cieľom je vytvoriť animáciu, v ktorej kamera letí vnútri tunelu, pričom jej steny sú priehľadné a za nimi vidieť okolitý svet. Na prvý pohľad sa nejedná o zložitú úlohu, ale napriek tomu je výsledná animácia veľmi efektná.
Obrázky animácie budú počítané pomocou programu Imagine. Preto je nutné, aby ste tento program ovládali na priemernej úrovni. Z ostatných programov (ADPro, Arexx) si nemusíte robiť ťažkú hlavu, využijeme z nich iba niektoré špeciálne funkcie.
Takže späť k našej animácii. V prvej fáze vytvoríme prelet kamery tunelom a obrázky vypočítame v čierno-bielom móde B/W Wire. Takto dostaneme v podstate „drôtený“ model tunelu. Potom sa na scénu umiestnia objekty tvoriace „okolitý svet“, odstráni sa tunel a kamera znova prejde mysleným stredom tunelu. Obrázky sa teraz budú počítať v móde Scanline. Záverom sa skombinujú obrázky oboch animácií pomocou programu ADPro tak, že sa na farebný obrázok pozadia nanesie čierno-biely obrázok popredia, pričom jej pozadie (čierna farba) bude transparentná. To je všetko.

Prvý krok
Najprv vytvorme uzavretú cestu (Closed Path), ktorá bude predstavovať os tunelu ako aj dráhu pohybu kamery. Postup: v Detail editore vytvorme 4 osi (Axis) v pohľade „Top“ tak, aby tvorili približne rohy štvorca. Vyznačme všetky osi postupne v smere hodinových ručičiek a potom použitím funkcie „Make Closed Path“ z menu Objects vytvorme cestu. Vznikne kľukatá dráha, ktorú ešte upravme v móde „Edit Path“ tak, aby neboli v nej ostré „zákruty“. (Ako? Naklikni jeden bod a skús ho rotovať alebo premiestniť.) Ak to máme za sebou, cestu uložme na disk, nakoľko neskôr sa ešte zíde.

V tuneli
Pokračujeme. Z ponuky „Functions/Add/Primitives“ (alebo stlač F5) vyberme „Disk“, zadujme 10 sekcií a OK. Vzniknutú „platňu“ upravme takto: v móde „Pick Points“ nakliknime na stredný bod a použitím funkcie „Delete“ ho vymažme. Dostaneme kruh, ktorý bude predstavovať kolmý rez tunelu vzhľadom na jeho os. Ešte upravme jeho rozmer vzhľadom na veľkosť dráhy a potom použitím funkcie „Mold/Extrude“ vytvorme tunel. Počet sekcií nastavme na 30 (prípadne 40) a nezabudnime zapnúť funkcie „Align Y to Path“ a „Align to Path“. Tunel uložme.

Okolitý svet
Teraz nasleduje vytvorenie objektov, ktoré budeme vidieť pri prelete tunelom. Fantázii sa medze nekladú, jediným limitujúcim prvkom je pamäť a rýchlosť vášho počítača. Na prvé pokusy odporúčame vytvoriť jednoduché objekty z menšieho počtu bodov ako je napr. kocka, valec, disk, guľa a podobne. Ak je všetko hotové, prejdime do „Action editora“.

Editor akcií
Počet obrátkou animácie nastavme na 200, potom načítajme cestu a tunel. Vymažme kanál pozície kamery a namiesto neho nastavme „Follow Path“ (samozrejme v režime „Add“) pre obrázky 1 až 100. Podobne vymažme aj kanál „Align“ a sem nastavme „Align to Path“ pre celá dĺžku animácie. Zmeny uložme a prejdime do „Stage editoru“. Spravme preview z prvých 100 obrátkou animácie (menu „Animate/Make“), aby sme videli ako sa nám podarilo zladiť rozmery tunely s jeho priemerom a veľkosťou zorného pole kamery. Ak obraz sprostredkovaný kamerou ukazuje steny tunely príliš zblízka alebo opačne, treba zmeniť veľkosť kamery. Ak je všetko v poriadku, potom pomocou jednoduchého triku nanavigujme kameru tak, aby pri prelete tunelom sa vždy pozerala dopredu. K tomu vytvorme jeden Axis. V Action editore nastavme, aby sledoval cestu medu obrázkami 1-100 (Follow Path).
Potom nastavme aby aj medzi obrátkami 101-200 sledoval tú istú cestu. Takto vlastne Axis dvakrát obehne dráhu vyznačená Pathom medu obrátkami 1-200. U kamery v kanáli „Postm.“ nastavme v políčku „Follow Path“ hodnoty začiatočného a koncového obrázku na 10 a 110. Týmto sme zabezpečili, že kamera sa dá do pohybu až od obrázku 10. Aligment vymažme a namiesto noho pridajme „Track to Object“ pre celá dĺžku animácie. V políčku „Object Name“ nezabudnite napísať názov sledovaného objektu (štandardne sa novovytvorený Axis volá „TRACK“). Z uvedeného je asi zrejmé, že čím neskôr sa dá kamera do pohybu, tým väčší má náskok Axis a teda o to viac „sa pozerá“ kamera dopredu.
Ak všetky nastavenia sú v priadku, prejdime do „Project editoru“ a vytvorme Subproject, v ktorom nastavme Rendering Method na B/W Wire a formát obrátkou na HAM. Je to potrebné z toho dôvodu, aby sa čiernobiely obrázok „tváril“ ako farebný. Ide o fintu na oklamanie programu ADPro. Na závor prvej fázy zostáva iba spustiť výpočet obrátkou 10 až 110. Nakoľko výsledné obrázky sú iba čiernobiele. výpočet je pomerne rýchly.

Výpočet farieb
Teraz nasleduje výpočet farebného okolia. Najprv prejdime do Action editora a načítajme objekty, ktoré budú mimo tunel. Potom vymažme objekt tunely a na koniec pridajme zdroj svetla. Všetko uložme a prejdime do Stage editora. kde musíme upresniť polohu a rozmer jednotlivých objektov. Pozor! Objekty - Kamera, Path a Axis - nechajme bez zmeny, nedotýkajme sa ich!
S rozmiestnením objektov sa oplatí trochu pohrať. Dávajme pozor hlavne na to, aby sa aspoň raz dostali do zorného pole pohybujúcej sa kamery. Pre ľahšiu „stráviteľnosť“ výslednej animácie odporúčame ešte umiestniť pod tunel väčšiu rovinu, ktorá môže slúžiť na orientáciu v priestore. Ak si myslíte, že Vaša priestorová fantázia je neomylná, rovinu kľudne vynechajte.

Kombinujeme
V Project editore vytvorme nový Subproject, v ktorom nastavme mód Scanline a 24-bitový formát obrázkov (napr. RGB24). Po výpočte obrátkou 10-110 máme v podstate 2 série obrázkov. Pozadie je vypočítané v móde Scanline a popredie v W/B Wire. Teraz nás čaká kompozícia - t.j. na obrázok pozadia musíme umiestniť obrázok popredia. Táto zdanlivo zložitú úloha jednoducho zvládne program ADPro, ktorý dokonca z vypočítaných obrázkov dokáže zostaviť aj animáciu. No skôr než sa niekto pustí do manuálne práce, pripomenieme, že na svete existuje aj Arexx, ktorý slúži na automatizáciu práve takýchto úloh. To znamená, že si načítajte svoj obľúbený textový editor a môžete prepísať uvedený program. Je to arexový skript, ktorý zabezpečí kompozíciu obrátkou a ich uloženie do animácie. Pozor na znaky operátorov ako sú „~“ a „||“, tieto paznaky nie sú dielom tlačiarenského škriatka, ale patria k programu (bez nich nefunguje). Ak je všetko hotové, program uložte do logického adresám „Rexx:“ pod menom „anima.rexx“.

Zaslúžený odpočinok
Pomaly sa blížime k záveru našej práce. Spusťme program ADPro, v ktorom nastavme rozlíšenie obrazovky a počet farieb. Teraz otvorme okno Shellu, odkiaľ spustíme arexxový program:
rx anima.rexx pozadie popredie animácia početframe konframe krok
Význam jednotlivých parametrov:
pozadie - prístupová cesta k vypočítaným obrázkom pozadia + názov obrátkou bez číselnej prípony. Napríklad:
Data:tunel.imp/scanline.pix/pic
popredie - obrázky popredia s prístupovou cestou.
animácia - názov vytvorenej animácie s prístupovou cestou.
početframe, konframe - číslo prvého a posledného obrázku animácie (10-109)
krok - krok medzi jednotlivými obrátkami (u konečnej animácie je to 1)
Jednotlivé parametre bezpodmienečne treba oddeliť medzerou! Ak je všetko v poriadku, počítač sa pustí do práce a my sa pohodlne môžeme roztiahnuť v našom pohodlnom kresle. Po niekoľkých minútach je dielo hotové. Nezabudnite si animácie prezrieť! Ku gratulácii sa pripájam aj ja...

/* */
parse arg background foreground anim startframe endframe stepframe
address „ADPro“
LFORMAT UNIVERSAL
SFORMAT ANIM
PSTATUS UNLOCKED
do fr=startframe to endframe-1 by stepframe
premenuj(background)
say Načítáva sa fr. obrázok pozadia
LOAD narve
if RC ~=0 then do
say Chyba, obrázok pozadia nelze načítat!
exit
end
premenuj(foreground)
say Načítáva sa fr. obrázok popredia
LOAD name 0 0 100 0 0 0
íf RC ~=0 then do
say Chyba, obrázok popredia nelze načítat!
exit
end
EXECUTE
SAVE anim IMAGE APPEND
if RC ~=0 then do
say Chyba, výsledný obrázok nie je možné uložit!
exit
end
if fr=startframe then do
PSTATUS LOCKED
say Paleta je zachytená
end
end
fr=endframe
premenuj(background)
say Načítáva sa posledný obrázok pozadia
LOAD name
if RC ~=0 then do
say Chyba, obrázok pozadia nelze načítat!
exit
end
premenuj(foreground)
say Načítáva sa posledný obrázok popredia
LOAD name 0 0 100 0 0 0
if RC ~=0 then do
say Chyba, obrázok popredia nelze načítat!
exit
end
EXECUTE
SAVE anim IMAGE WRAPUP
say Animácia je hotová!
PSTATUS ULOCKED
exit
premenuj:
arg name
name=name.0000
name =delstr(name,length(name)-length(fr)+1)||fr
return name

Vytlačiť článok


© ATLANTIDA Publishing Všechna práva vyhrazena.
Žádna část nesmí být reprodukována nebo jinak šířena bez písemného svolení vydavatele.



Amiga na Vašem PC rychle, snadno a zdarma!


none

AMIGA REVIEW

57 ( 11-12 / 2000 )
56 ( 9-10 / 2000 )
55 ( 7-8 / 2000 )
54 ( 5-6 / 2000 )
53 ( 3-4 / 2000 )
52 ( 1-2 / 2000 )
 
51 ( 12 / 1999 )
50 ( 11 / 1999 )
49 ( 10 / 1999 )
48 ( 9 / 1999 )
46-47 ( 7-8 / 1999 )
45 ( 6 / 1999 )
44 ( 5 / 1999 )
43 ( 4 / 1999 )
42 ( 3 / 1999 )
41 ( 2 / 1999 )
40 ( 1 / 1999 )
 
39 ( 12 / 1998 )
38 ( 11 / 1998 )
37 ( 10 / 1998 )
36 ( 9 / 1998 )
35 ( x / 1998 )
34 ( x / 1998 )
33 ( 1-2 / 1998 )
 
32 ( 11-12 / 1997 )
31 ( 9-10 / 1997 )
30 ( 7-8 / 1997 )
29 ( 6 / 1997 )
28 ( 5 / 1997 )
27 ( 4 / 1997 )
26 ( 3 / 1997 )
25 ( 2 / 1997 )
24 ( 1 / 1997 )
 
23 ( 12 / 1996 )
22 ( 11 / 1996 )
21 ( 10 / 1996 )
20 ( 9 / 1996 )
18-19 ( 7-8 / 1996 )
17 ( 6 / 1996 )
16 ( 5 / 1996 )
15 ( 4 / 1996 )
14 ( 3 / 1996 )
13 ( 2 / 1996 )
12 ( 1 / 1996 )
 
11 ( 12 / 1995 )
10 ( 11 / 1995 )
9 ( 10 / 1995 )
8 ( 9 / 1995 )
7 ( 7 / 1995 )
6 ( 5 / 1995 )

ATLANTIDA NEWS

5 ( 3 / 1995 )
4 ( 1 / 1995 )
 
3 ( 11 / 1994 )
2 ( 9 / 1994 )
1 ( 7 / 1994 )
0 ( 5 / 1994 )