Jelikož jsme posledně nakousli podle mého názoru velmi zajímavou kapitolu, budeme v ní dnes lehce pokračovat. Necháme již spát textury - s těmi už byste měli celkem pohodově vládnout, a podíváme se na to, jak si ulehčit práci s animací složitějších objektů, jako je například lidské tělo.
Hned na začátku předesílám, že se tyto věci
už dost špatně vysvětlují a proto mi odpusťte, budu-li v některých pasážích
trochu neobratný a možná i lehce nesrozumitelný. Ovšem mám za to, že ve
dvanáctém dílu už nepromlouvám k žádným nováčkům a můžu si tudíž
dovolit mluvit trochu rychleji Takže pojďme k věci.
Určitě vás již někdy napadlo nejen namodelovat nějakého človíčka. Dnes
se však nebudeme zaobírat tím, jak nejlépe vykonstruovat hrudník. Naopak. V
rámci co nejjednodušší interpretace problému si vystačíme pouze s osami.
A co že to dnes budeme dělat? Ukážeme si, jak Imagine ovládá inverzní
kinematiku.
Teď si asi říkáte, co to zase do vás hodlám hustit za prašivou fyziku.
Ne, nebojte se. Nic takového. Stačí pouze vědět princip. Představte si
situaci, že vezmete někoho za ruku, Pokud vám nedá facku (což se v Imaginu
stává zřídkakdy), pak pohyb jeho ruky následuje celé tělo. Takže se nejdříve
jeho ruka natáhne. Pak se začne ohýbat trup a nakonec, pokud vás chce následovat,
musí se pohnout v kolenou atd. Samozřejmě, že to není žádná legrace pro
procesor, takže nečekejte, že budete vyvádět psí kusy s padesáti osami
najednou. Jen model postavy s hlavními klouby nechá (v mém smutném případě)
030 pěkně zpotit.
Než však začneme s človíčkem, ukážeme si to na jednoduchém příkladě.
Vytvořte si vedle sebe několik os (viz obrázek) a začněte je groupovat. Ovšem
tak, že osa úplně vlevo bude rodič (parent) osy následující. A tímto způsobem
pokračujte až do konce. Tuto hierarchii posléze naformujte podle svého uvážení
do nějakého tvaru třeba podle obrázku A teď dávejte dobrý pozor.
V modu Pick Object si zvolte hlavní osu (tedy prarodiče všech zbývajících
os) a z menu States zvolte položku Freeze (zmrazit). V této tabulce si určíte,
jaký pohyb, případně takou rotaci objekt má či nemá vykonávat. Tyto údaje
můžete samozřejmě zadat pro každou osu zvlášť. Tomuto nastavení věnujte
opravdu velkou pozornost, protože na něm velice závisí další pohyb celé
soustavy. Ted stačí jen v menu States zaškrtnout položku Constrain čímž
zapnete již zmiňovanou kinematiku. Pokud teď chcete vidět, co jste napáchali,
v modu Pick Objects označte třeba poslední osu a začněte s ní pohybovat
Pokud jste postupovali správně. pak by se celá soustava měla deformovat.
A led pár rad. Před tím, než začnete cokoli měnit, vytvořte si defaultní
stale pro případ, že byste se chtěli vrátit na úplný začátek. Z každé
nové pozice, která se vám líbí vytvořte další state - animace pak bude
probíhat pomocí morfování mezi stavy, jak jsme si ukazovali minule. Nezapomeňte
však, že stale se vytváří jen pro zvolené objekty, takže se vždy ujistěte,
že jste zvolili v modu Pick Groups prarodiče veškerých os a objektů. Velmi
užitečná věc je, že si můžete animaci přechodů mezi stavy prohlédnout
přímo v Detail editoru a nemusíte kvůli tomu pracné sestavovat scénu. V
menu States je skrývá State anim, kde zadáte, který stav má mít kolik snímků,
stavy můžete různě kombinovat a pak už se jen podíváte, jak se vám to
povedlo nebo nepovedlo.
Pokud jste si všimli, tak tím, že jsme zmrazili první osu, jsme se okradli o
pohyb prvního ramene. Je důležité vědět, že hlavní osa objektu se nesmí
nikdy pohnout ani pootočit, protože k ní se pak vztahují všechny další
osy a pokud by se tato hlavní osa pohnula nebo pootočila, animace by pak
neprobíhala korektně. Proto doporučuji vytvořit ještě jednu osu nejhlavnější,
která však nezastává žádnou pohybovou funkci.
Je-li vám tento postup jasný, pak nám nic nebrání v tom, abychom se konečně
vrhli na animaci postavy. Osovou hierarchii vytvořte podle přiloženého obrázku.
Začněte groupovat osy tak, že pro nás hlavní osou bude osa v břiše. Tu
sgroupujte s osou v krku a od krku přejděte k hlavě. Pak se vraťte opět na
krk, pokračujte do ramene, lokte a ruky. Posléze se vraťte opět k břichu a
pokračujte přes kyčel do kolena a kotníku. Tímto máte vytvořenou funkční
strukturu. Teď je ještě nutné vytvořit tu nejhlavnější osu, která bude
stále zamčená. Může být prakticky kdekoli a musí být sgroupovaná s osou
břicha, jakožto hlavní osou celé kostry. Pokud mohu doporučit, tak nejlepší
místo pro tuto nejhlavnější osu je mezi kotníky v úrovni pomyslné země.
V návaznosti na to je třeba si uvědomit, že nyní nebude možné chtít po
postavě, aby si např. klekla, protože tato osa jí tento pohyb nedovolí. Musíte
tedy postupovat obráceně (tedy od chodidel) a nohy pokrčit "z druhé
strany". Když pak budete mít postavu v pokleku, stačí jen vypnout
funkci Constrain, a celou postavu zase "snést dolů", aby se chodidly
dotýkala podlahy.
Ještě něco k samotné konstrukci kostry. Než začnete inverzně kinematit,
musíte si uvědomit, že Imagine neví zdaleka vše, např. neví to, že
koleno se nemůže otáčet na druhou stranu, takže pokud namodelujete nohu
naprosto rovnou, můžete se dočkat zajímavých zlomenin a vymknutých kotníků.
Tedy už při modelování nohy lehce pokrčte v kolenou (totéž udělejte s
lokty) a teď už by se špatného stát.
Co se týče položky freeze, tak stačí jen přemýšlet. Představte si jak
se vaše klouby pohybují a podle toho jednotlivé osy zamykejte. Jak to uděláte,
nechám na vás - jistě na to každý přijde sám. Samozřejmě, že funkce
freeze není univerzální. Pokud třeba požadujete po postavě, aby se rozhlížela
do stran, pak zamezte chodidlům v pohybu po jakékoli ose. Postava pak bude otáčet
trupem a bude jemně pružit v kolenou. Pokud vám zase jde o jednoduchý pohyb
paže, tak zamkněte trup, aby vám pak postavička nevyváděla jak na diskotéce
po 10ti pivech (mimochodem animace opilce je velmi snadná a překvapivě
realistická). Ke všemu však leště dodejme, že občas bývá nejjednodušší
vykašlat se na celou inverzní kinematiku a vše vyřešit pomocí jednoduché
rotace os. Záleží na každém, jak se rozhodne.
Takže máme-li vše hotovo, můžeme začít postavu modelovat. Pro začátek této
sestavte z jednoduchých objektů. Jak udělat této, aby vypadalo alespoň
trochu realisticky, jak ho rozpohybovat pomocí kostí - to si necháme na příště.
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