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

Imagine 5.0 - #11

MICHAL KOVÁŘ

Pokud mě paměť neklame, tak jsem se posledně uvrtal k tomu, že vás obeznámím s natahováním textur coby kůže na nějakou potvoru. Nejsem si jist, do jaké míry se mi podaří nějakou obludu napodobit, ale princip snad ještě zvládnu. Začneme velice originálně - krychlí.

Nejprve však opět trochu šedé a nudné teorie. Položme si otázku, o co nám vlastně jde. Již z minulého dílu víme, že pokud se nějaký objekt pohybuje (mám teď namysli změnu jeho tvaru, nikoli pouhou rotaci, translaci nebo proporcionální zvětšení), pohybují se jeho polygony. Tyto polygony můžeme tedy považovat za jakousi kůži. Jenže nám jednolitá barva polygonů obyčejně nestačí ke štěstí. Takže už umíme i nemapovat nějaký obrázek. Jediné, co teď potřebujeme k tomu, aby se i obrázek stal pomyslnou kůží je, aby se dynamicky měnil podle toho, jak se mění polygony. Odpověď je opět v menu STATES. Půjde o to, že před samým začátkem namapujete na nezdeformovaný povrch to, co chcete aby tam bylo, pak veškeré textury "zamknete" a pak už budete jen měnit tvar a textura se bude sama od sebe přizpůsobovat.
Jak jsme si již kdysi dávno řekli, Imagine mapuje pouze plenárně, cylindricky a sféricky. Takže my sami musíme zvolit takovou modelovací metodu, abychom s tím vystačili. Pokud budete modelovat například obal knihy, jeví se zde, jako nejjednodušší metoda nemodelovat knihu rozevřenou, nemapovat ji plenárně a posléze ji domodelovat do konečného stavu. Naproti tomu kdybychom chtěli texturovat svíčku z minulého dílu, je nasnadě, že bychom použili mapování cylindrické. Jakmile je jednou textura nanesena, už se o ní dál starat nemusíme.
Abych to demonstroval, představme si nyní populární "Abíčko" a jeho vystřihoslepovánky. Je to typický příklad rozloženého modelu, který je připraven pomocí plenárního promítání (ono to v tiskárně ani jinak nejde). Takže si představte, že chcete ze čtvrtky slepit krychli. Krychle má 6 stěn, čili vám vyjde obrazec ve tvaru kříže (viz. obrázek). Teď si podle vašeho gusta nakreslete v nějakém paintu to, co chcete, aby na jednotlivých stranách bylo vidět a nemapujte to na objekt. Je vhodné používat pro začátek nějaký jednoznačně identifikovatelný obrázek, aby bylo zřejmé, kam se která jeho část posunula (já jsem pro názornost zvolil obyčejná čísla). Teď si vlezte do STATES a zaškrtněte (stejně, jako minule) položku SHAPE. Znovu si otevřete atributy brushe a do okénka Lock State vypište jméno příslušného stavu. A to je vlastně celá věda. Teď začněte krychli skládat přesně tak, jak byste to dělali s papírovým modelem. Zde však při modelování vyvstane jeden zásadní nedostatek. Staré verze Imaginu otáčely skupinu bodů vždy podle prvně zvoleného bodu. Z mě neznámých důvodů tato funkce u vyšších verzí chybí - tudíž se skupina bodů otáčí podle svého těžiště. Pokud si pak složenou krychli necháte spočítat, mělo by vše sedět na svém místě.
Vyrenderoval jsem vám ještě jeden obrázek navíc - jakousi mezifázi - abyste viděli, že vše funguje naprosto logicky a bezchybně. Koncový stav jsem udělal lehce průhledný, abyste viděli, že nešvindluji a čísla jsou i na druhé straně kostky.
Ještě je tu však jedna věc, na kterou bych vás měl upozornit. V tomto případě (tedy v případě skládání objektů z určitého stavu do jiného) si dávejte pozor, abyste nepoužili funkci MERGE (tedy spojování bodů, hran a polygonů v případě, že jsou totožné). Jakmile totiž spojíte byť jen dva bodíky, rázem narušíte strukturu a číslování polygonů a STATES rázem přestanou fungovat korektně. U krychle snad použití funkce merge nikoho nenapadne, ale pokud by se něco podobného dělalo u objektu s více polygony, kdekdo my mohl pocítit nutkání ulehčit procesoru a nějaký ten polygon ubrat. Předchozí postup však neberte jako návod, jak texturovat krychli mnohem elegantnější je použít Face Subgroups a na každou stěnu mapovat zvlášť. Jednak z důvodu, že pak nemusíte obrázky pro jednotlivé stěny spojovat do výše uvedeného kříže, a druhak potom můžete vždycky kterýkoli obrázek nahradit jiným, bez toho, aby to ovlivnilo všechny zbývající. Také si nedokážu představit, jak byste tímto spůsobem modelovali např. popelářský vůz BOBR (mám-li se držet témat časopisu ABC).
A teď již slibovaná potvora. Opět předesílám, že pokud se vám můj obrázek hlavy jakéhosi prehistorického tvora zdá býti lehce přitroublý, tak vězte, že se vám to nezdá. Bohužel nevládnu zatím žádným HI-TECH modelingovým programem ani 3D-scannerem, natož trpělivostí. Je to jednoduchá modelace pomocí blobů. Nejjednodušší způsob, jak se dobrat cíle je nakreslit si obrys jakési hlavy a vyplnit ji kružnicemi, které se vzájemně dotýkají (nebo se lehce prolínají). Pokud se tady někde povaluje nákres, tak víte, co mám namysli. Až se vám to povede, přepněte se do okna FRONT a vytvořte soustavu matematických koulí přesně podle vašeho nákresu. Pak z toho utvořte BLOBMESH a model je hotov.
Na tuto hlavu plácněte nějakou texturu, která by měla alespoň částečně připomínat ještěrku. Jako perličku si můžete přidat i nějaký ten bumpmapping, aby to alespoň trochu vypadalo. Stejným způsobem, jako u krychle teď pomocí STATES a položky SHAPE "zamkněte" texturu na objektu, tento stav zohledněte v atributech a můžete se pustit do pohybování s modelem. Je dobré si udělat kopii nanesené textury a na ni si nějakou výraznou barvou označit čarami místa, která nás z hlediska deformace zajímají. S touto texturou pak spočítejte klíčová místa animace a podívejte se, jestli se obrázek deformuje tak, jak má. V tomto případě jsou to pomyslné osy čelistí, oko a krk.
Bohužel se nedá do časopisu přenést celá animace (a Tomáš Benda by mi asi 125 snímků otisknout určitě nedovolil), takže jsem vytáhl pouze klíčové "frejmy". Ještěrka normální, s otočenou hlavou, s hlavou dole a otevřenou tlamou. Všechny jsem otexturoval pomocnou texturou s linkami, takže si můžete ověřit, do jaké míry je natahování kůže korektní. Obecně samozřejmě platí, že čím více polygonů, tím přesnější pohyb. Textura je totiž po uzamčení jakoby rozkrájena jednotlivými polygony a v jejich hranicích se pak deformuje. Pokud tedy dva vedle sebe ležící polygony zvětšíte neproporcionálně, dočkáte se jistých chyb, které spočívají v tom, že na rozhraní těchto dvou polygonů se textura jakoby zlomí - což je, pokud pracujete s menším počtem polygonů, dost rušivá záležitost.
Co se deformování hlavy týče, prozatím si musíte vystačit s modem PICK POINTS a funkcí MOVE, ROTATE a SCALE. Pokud otočíte ještěrce jenom hlavu, nemůžete očekávat, že se jí automaticky pohne i krk - to musíte také udělat ručně. Že je to příliš složité? Ano. Vyžaduje to jistou míru představivosti. Ovšem nezoufejte - tyto problémy zcela elegantně řeší další specialitka - BONES (kosti), ale ty si vysvětlíme až někdy jindy. Takže přeji úspěšný lov ještěrek a do příštího měsíce si na vás zase něco vymyslím.

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 )