AMIGA REVIEW obsah časopisu online!
  Domov     Software     Hry     Obaly     Download  

Imaginární svět IMAGINE!

Pavel Jirák

O tomto vydařeném produktu firmy IMPULSE inc. se napsalo již velmi mnoho článků. Kupodivu téměř všechny byly, až na vzácné výjimky, o tom samém. Základní popis editorů verze 2.0 s příkladem vytvoření jednoduchého objektu či projektu.

Nepochybuji o tom, že většina majitelů tohoto skvělého programu dokáže takovýto objekt či projekt vyrobit. Nástupem Lightwavu však upadl Imagine neprávem v nelibost a spousty článků popisujících Lightwave mu přisoudila roli zajímavého, leč ne příliš profesionálního programu. Autoři těchto článků ovšem zapomněli na fakt, že i Imagine prošel vývojem a v současnosti se nachází ve verzi 5. To, že se nejedná pouze o vyšší číslo ale o skutečné a zásadní vylepšení programu, bych se rád pokusil v následující nezávislé sérii článků demonstrovat.
Zásadním zlomem ve vývoji byla verze 3.0, která přinesla nové možnosti editace objektů a mnoho nových textur. V rychlém sledu následovaly verze 3.1, 3.2 a 3.3 ukončené verzí 4.0. Jen namátkou bych uvedl některá vylepšení. Opravdu jen některá, protože jen od verze 3.0 do verze 4.0 jich bylo přes 60:
1. field rendering 3.1
2. atributy v Stage editoru 3.1
3. import a export DXF 3.1
4. podpora 256 barevného prostředí 3.2
5. rychloatributy 3.2
6. zahlazování hran a objektů 3.2
7. náhled na textury (requester) 3.3
8. motion blur a jemné stíny 4.0
9. podpora arexxu 5.0
Dost bylo úvodů, pojďme se tedy podívat na jedno řešení konkrétního problému. Obtížnost modelování základních živlů snad nemusím ani nějak zvlášť zdůrazňovat. Všichni dobře víme, jak je komplikované vytvořit věrohodnou podvodní scénu, dobře vypadající oblohu s mraky či například oheň. U posledně zmíněného bych se rád zastavil. Tady se situace rapidně změnila příchodem matematické textury ve verzi 3.1. Tato textura je samozřejmě animovatelná a vytváří kýžený efekt změnou hodnot barvy a filtru. Možnosti nastaveni textury jsou poměrně široké, takže lze vytvořit oheň od lesního požáru počínaje po plamen olejové lampy v interiéru konče. Zkráceně, máme k dispozici plnou kontrolu nad barevností a rychlostí hoření. Základem úspěšného použití každé textury je bezpochyby důkladné zvládnutí requesteru té které textury, avšak animovatelné textury vyžadují ještě cosi navíc. Jde o tzv. STATES neboli „stavy“, jejichž znalost je bezpodmínečně nutná k animování. Pokud bychom je nepoužili, výsledná animace by nevypadala moc reálně. Takže, co jsou stavy?

Stavy: (states)
Objektový STATE (stav) je konfigurace podmínek povrchových atributů, geometrie objektu, textur, orientace atd. Tato konfigurace je uložena v paměti a vložena do seznamu. Objekt pak může být přepnut z jednoho stavu do druhého použitím jména stavu ze seznamu.
Příklad: stav 1:
pták, bílá barva s modrými fleky a křídly dole.
stav 2:
pták, černá se žlutými fleky a křídly nahoře.
Objekt ptáka je pak možné přepnout z jednoho stavu do druhého STATE příkazem. Použitím animačního příkazu v ACTION editoru se bude objekt postupně měnit z jednoho stavu do druhého. Někdo může namítat, že toho lze docílit i v CYCLE editoru. Není to tak docela pravda, jak uvidíte později.

Vytváření stavů
Stavová technologie použitá v Imagine 3.0 naopak skvěle nahrazuje animování objektu pomocí CYCLE editoru. Ačkoliv CYCLE editorem lze také dosáhnout cyklického pohybu jako je mávání ptačích křídel, stává se, že se textury nebo mapy přiřazené k objektu někdy takzvaně utrhnou. Naproti tomu STATE příkaz v DETAIL editoru drží trvale texturu nebo mapu na objektu a tím umožňuje, že objekt může být morfován, roztahován atd. bez ztráty textury nebo trapy. Například postupující textura dinosauří kůže se pohybuje a vlní s modelem dinosaura a vytváří tak velmi realistický dojem.

Krok po kroku
Hlavní STATE (stav) je vytvořen a zamčen k objektu. Poté sc postupně přiřazují další stavy. Tyto stavy mohou být také aktualizovány nebo mazány. Především aktualizace (UPDATE) je velmi praktická a potřebná věc, jak poznáte později. Přiřazení se provádí následujícím způsobem:
Pickneme objekt
Nastavíme veškeré atributy a geometrii objektu. Zvolíme příkaz STATES z STATE menu. výsledek: zobrazí se nám requester
Vybereme CREATE z nabídky výsledek: můžeme zadat jméno stavu Vložíme jméno a enter výsledek: můžeme zadat datatyp (vysvětleno později)
Vybereme datatyp a dáme OK výsledek: Vrácení do DETAIL editoru Zamčení stavu k objektu ve vhodném requestru.
Dodatečné stavy jsou připojeny analogicky s předchozím, kromě toho, že se nezamknou k objektu.
Datatypy stavů:
Datatypový requester stavu specifikuje typ při dělený objektu.
Shape: Geometrie objektu.
Face colors: dostatečně výmluvné
Properties: Atributy, pohybové textury a mapy.
Grouping: Vybírá se, pokud je objekt část skupiny vytvořené ve STATES menu příkazem GROUP.
Textures/Brushes: také jasné

Seznam příkazů (choose list)
Možnosti nastavení po zavolání příkazu STATES.
Set to: Výběr hotového stavu ze seznamu.
Tween: Vytvoření transformace mezi dvěma stavy.
Create: Vytvoření stavu.
Clone: Kopie stavu.Vhodné pro vytvoření malých změn.
Update: Uložení změn do existujícího stavu.
Delete: Smaže stav.
Info: Seznam stavů.
Cancel: Běžný význam.
Tento krátký popis funkce stavů si neklade za cíl nahradit manuál, avšak kolegům méně zdatným v angličtině by měl postačovat. Nyní tedy můžeme přistoupit přímo k textuře FIRE, kde, jak uvidíme, se nám nabytá povědomost stavů vyplatí. Jako objekt pro aplikování textury si vytvoříme jednoduchou rovinu s osou Z kolmou na povrch ohraničující zhruba tvar ohně. Přejdeme do „atribute requesteru“ a přidáme texturu. Objeví se nám requester s následujícími údaji:
Fragmentation Adjust: Tento parametr nám dovoluje přizpůsobit velikost detailu (deky ohně) během hoření. Větší číslo bude vypadat více nespoutaně a živelně a menší spíš jako pochodeň nebo olejová lampa.
Convection Speed: Tento parametr nastavuje rychlost ohnivého detailu, (jsou myšleny fleky ohně), pokud budeme texturu animovat.
Central Color/Filter: Tento parametr nastavuje atributy pro centrum ohnivé textury.
Outer Color/Filter: Tento parametr nastavuje atributy pro „hrany“ ohně.
Time Adjust: Animovatelný parametr. Přeměnou tohoto parametru oheň animujeme. Animace nebo respektive textura ohně sice není zasmyčkovaná (looping), ale oheň je dostatečně proměnlivý, takže to obvykle jde. Zkuste např.start 0.0 do 0.6 na 30 snímků.(animováno pomocí states - stavů)
Poznámku: Tato textura pracuje nejlépe, když je aplikována na „bringt“ objekt. Používejte editaci os na změnu velikosti, pozice a orientace.

Jdeme na to
Víme tedy co znamenají jednotlivá pole a vyplníme je požadovanými parametry a hodnotu „time adjust“ nastavte na 0.0. Dejte OK pro návrat. Vyberte z menu states položku states a zadejte „create“. Vložte název stavu např. „JEDNA“ a enter. Nyní nastavte datatyp stavu, což je v našem případě „Properties“ a pro jistotu „textures/brushes“. Ted“ přijde důležitá věc. Vrátíme se přes atribute requester do texture requesteru, kde přiřadíte vámi vytvořený stav do kolonky „LockState“. Můžeme ho tam vepsat nebo stlačíme „browse“ a vybereme z listu. Dáme OK a návrat do „states menu“, kde provedeme „update“ a následně vytvoříme nový stav DVA. Tedy, znovu „create“, vložení jména stavu (DVA) a shodné datatypy stavu jako u předcházejícího. Pokud máme vše hotovo, přepneme pro jistotu na stav DVA pomocí „set to“ ve „state“ menu.
Nyní máme jistotu, že je náš objekt ve stavu „DVA“. Přejdeme do texture requesteru, změníme „time adjust“ na 0.6 a zadáme jméno stavu, ke kterému budou hodnoty v requesteru náležet. V našem případě stav „DVA“. Vrátíme se zpět do „state“ menu, kde provedeme „update“ stavu „DVA“. Pokud si chcete být naprosto jisti správností našeho nastavení, přepněte pomocí „set to“ ve „state“ menu na stav „JEDNA“ a zkontrolujte hodnotu „time adjust“, je-li 0.0. Vraťte se a přepněte na stav „DVA“ a přesvědčte se, zdali je „time adjust“ 0.6. Pokud ano, uložte objekt. Když se tak dívám na tento odstavec, připadá mi trochu divoký, ale věřte, že vám to přejde velice rychle do krve a že je to koneckonců docela logický postup, který není tak komplikovaný, jak vypadá.

Finále
Vytvořte si projekt, pokud ho již nemáte, a nastavte v Action editoru 30 snímků animace. Potom tradičním způsobem morphujte objekt ohně ze stavu „JEDNA“ do stavu „DVA“. Nyní nezbývá než popřát rychlé instrukce a dostatek trpělivosti. Experimentování se meze nekladou.

Poznámka na závěr
Velmi potěšitelný je takt, že textura nevyžaduje algoritmus TRACE a bohatě postačí i SCANLINE. Také rychlost renderování je velmi slušná i na strojích s předpotopní 68030 (vyzkoušeno). Pokud se tedy pustíte do projektu obsahujícího oheň, doporučuji vám ještě jednu maličkost týkající se světel. Doporučuji umístit jeden světelný zdroj vysoko nad scénu s intenzitou okolo 50 na všechny kanály (RGB), a druhý zdroj těsně k ohni s intenzitou 255,255,220 a zapnutým klesáním intenzity v závislosti na vzdálenosti od zdroje (diminish intensity). Tato volba vypadá mnohem přirozeněji a v kombinaci s proměnou docílíme i světelného efektu plápolajícího ohně. To je pro tentokrát vše.

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

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 )