Imagine 5.0 - #13MICHAL KOVÁŘ
Jak jsem již v minulém dílu předeslal, bude dnes řeč o zvláštní
modelovací technice - a to o kostech (anglicky bones). Pomocí kostí si můžete
ulehčit spoustu práce a dosáhnout až překvapivě reálných tvarů. To platí
ovšem v případě, že budete mít dostatečnou trpělivost kosti správně
definovat (viz srovnání s jinými programy).
Jak již bývá zvykem, nejprve si o problému povíme něco obecně. Pokud
si ještě vzpomínáte, nedávno jsme řešili případ, kdy se měla hlava ještěrky
otočit. V této pasáži jsem vás zprudil tím, že si to budete muset
namodelovat ručně. No vězte, že až tolik naše realita krutá není. Pomocí
kostí (nejlépe v kombinaci s inverzní kinematikou) si můžeme celkem bez větší
námahy dovolit to, na co bychom si nikdy předtím ani netroufli. Vesměs všechny
dnešní 3D programy mají systém kostí. Imagine je však mezi nimi jistou výjimkou.
Tato výjimka pro nás bude znamenat více práce, ale na oplátku se nám odvděčí
naprostou kontrolou nad požadovaným pohybem.
Jádro pudla je totiž v tom, že např. v Lightwavu jednoduše do objektu nasekáte
klouby, řeknete "todlencto sou kosti" a máte hotovo. No fajn - žádná
práce, hned se něco děje. Ale ouha - co když chcete, aby se v jistém místě
objekt nedeformoval (např. chci ohnout nohu v koleni, ale ona se mi ohne i v
polovině stehna). To se vám v Imaginu stát nemůže (pokud to zvoráte, tak může).
Imagine totiž, krom definice samotných kostí (což je celkem jednoduchá práce),
umožňuje či spíše vyžaduje definici oblastí, kde se objekt deformuje, a
kde se již deformovat nebude. Tyto oblasti se nazývají SMALL a BIG SUBGROUPS.
Každému je tím pádem jasné, že než se pokochá nějakým pohybem, bude
muset ještě strávit nějaký ten čas právě definicí těchto subgroup.
Jak tedy na to? Vytvořte si nějaký podlouhlý objekt (třeba podobný tomu,
který tu vidíte) a udělejte mu více podélných částí. Teď dejte doprostřed
osu, která bude symbolizovat kloub, okolo kterého se bude onen objekt
deformovat. Pokud chcete použít inverzní kinematiku, dejte ještě jednu osu
na konec objektu (bude pouze jako vodící objekt nebude zastávat žádnou
deformační funkci. Tyto osy pochopitelně sgroupujte tak, že osa objektu bude
parentem osy uprostřed atd. Však to znáte.
Tak. Teď to bude trochu náročnější na chápání, takže dávejte bedlivý
pozor. Teď se přepněte do modu PickFaces a BoxPickMethod. Objekt budeme označovat
zleva doprava (pokud tedy modelujete stejným způsobem, jako já). Začneme 3
pole před středním kloubem a od tohoto místa označíme celý objekt směrem
doprava. Pak z menu Functions/Make/Mk. SmallBoneSubgroup. Když toto uděláte,
Imagine vás požádá o zvolení kloubu, ke kterému se bude daná oblast
vztahovat (pozor, nezeptá se requesterem, ale nenápadně to napíše na horní
lištu) - takže stačí levou myší kliknout na požadovanou osu - v našem případě
na tu prostřední. Nyní ve stejném smyslu označíme část za kloubem - tzn.
poslední dvě políčka. A tentokráte ji označíme jako BigBoneSubgroup a přiřadíme
ke stejné ose.
Co jsme to právě teď udělali? Název small a big subgroup neříká nic o
velikosti vybrané části objektu (jak by se na první pohled mohlo zdát). Tím,
že jsme označili SmallBoneSubgroup jsme Imaginu řekli, jaká část se bude při
otočení kloubu deformovat. Tím, že jsme pak označili část za kloubem jako
BigBoneSubgroup jsme Imaginu sdělili, že tato část se tedy pohne podle
vybrané osy, ale již se nebude deformovat. Dalo by se to také říct tak, že
nejprve označíme všechno jako deformovatelné a pak vybíráme části, které
se deformovat nebudou.
Teď, když jsme tedy určili vše, co jsme určit měli, vytvoříme State pro
rovný a nezdeformovaný objekt, abychom se mohli v případě neúspěchu kam
vracet. Teď si označte prostřední kloub (nebo krajní, pokud jste použili
inverzní kinematiku) a nějakým způsobem ho pootočte nebo posuňte. Pokud máte
dojem, že je vše, jak má být, z menu States zadejte BonesUpdate a čekejte
na zázrak. Pokud jste postupovali správně, měli byste vidět něco podobného,
jako tady u článku. V případě kostí se objekt okolo kloubu stává opravdu
"masem a kůží". Napíná se a smršťuje - pokud si tedy ještě
pamatujete na to, jak se mapují a zamykají textury, můžete tak lehce dosáhnout
již dříve zmiňovaných efektů pohybu a deformace povrchu. Což vám doporučuji
hned ze začátku udělat, abyste viděli, v kterých místech a do jaké míry
se vám objekt zdeformoval.
Další výhodou tohoto řešení je, že kosti nejsou nic jiného, než osy -
čili se dají uložit jako samostatný objekt a následně aplikovat na více
objektů bez toho, abyste je museli vždy znovu vytvářet. Pokud si tedy vytvoříte
postavu ve stejných proporcích, jako posledně, pak si můžete objekt z minulého
dílu nahrát a jednoduše ho "vložit" do vaší nové postavy.
Sgroupujete, nadefinujete a máte hotovo.
K imaginovským kostem existuje spousta různých přístupů a metod - tahle se
mě osobně jeví jako nejrychlejší. Je zde i možnost si nejprve udělat
subgroupy a pak je v requesteru přiřazovat - ale to je pak takový zmatek, že
jsem tuto metodu zavrhl a nebudu se zde o ní vůbec zmiňovat. Pokud se vám to
všechno zdá trochu zmatené, tak nad tím nepřemýšlejte a berte to jako
fakt. I mě se stává, že když zasednu po 14ti denní pauze ke kostem, už je
zase neumím a musím si vzpomínat, jakže to vlastně funguje. Princip je to výborný,
ale provedení je dost nešťastné - to připouštím. Ovšem za to, že mám
pak přesnou kontrolu nad každý polygonem, to stojí.
Ptáte se, jak je to s rychlostí? Můj smutný případ (030/50) se odminule
trochu zlepšil (040/25 + PPC603), ale ujišťuji vás, že to není nijak
tragické ani na 020. I když pokud si člověk zvykne na rychlejší mašinku,
zpátky už se mu moc nechce. Obecně lze říci, že na modelování čehokoli,
co nemá šestimístný počet polygonů, 030 celkem stačí (i když to samozřejmě
není žádná sláva).
A pokud jste trochu movitější a máte doma (nebo v práci) nějaké to PCčko,
které je, jak zcela správně poznamenal můj přítel Eda, tou nejlepší
turbokartou k amize, mohu vám doporučit Imagine pro PC (pozor - nezaměňovat
s Imagine for Windows). Je to stará dosárna, ale co je pro nás důležité -
je zcela kompatibilní s amigovskou verzí - takže na amize si hezky uděláte,
co je třeba a turbokarta vám to spočítá. A vy se můžete věnovat bohulibější
činnosti, než je civění do pomalu naskakujících procent.
A opět jako pokaždé na závěr pár rad. Jako obyčejně - počítač je
"tupé zvíře". Co mu neřeknete, to neudělá. Nemá proto cenu
vztekat se nad prvními neúspěchy, když se vám hned všechno nedaří. Je třeba
si uvědomit, jak moc je definice oněch deformačních zón důležitá a mít
to stále na zřeteli. A občas také není zbytí a musíte opět sáhnout k
manuální úpravě. Důležitý totiž není postup, ale výsledek. Tomu, kdo
na vaše dílo bude koukat bude srdečně jedno, že jste si to nechali udělat
na Siliconu, nebo jste se s objektem lopotili na plesnivé A500. Pokud bude stát
obrázek za prd, nepomůže mu ani svěcená voda tím vás chci upozornit,
abyste bones nebrali jako nástroj, který všechno zachrání. Většinou to
totiž bývá přesně naopak. Děkuji za pozornost.
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
|