Ze Ükoly vφme, ₧e dynamika je obor mechaniky, zab²vajφcφ se pohybem t∞les, p°iΦem₧ p°φΦinou pohybu t∞les je sφla. Kdy₧ kolem roku 1667 Isaac Newton formuloval zßkony dynamiky a pojem gravitace, asi jen sotva mohl tuÜit, ₧e za n∞kolik stoletφ dojde k zavßd∞nφ jeho poznatk∙ do 3D modelovacφch program∙. Jednφm z v²sledk∙ t∞chto snah je plug-in modul pro program Cinema nazvan² Cinema Dynamics.
Dynamika a ostatnφ
Je-li animßtor postaven p°ed ·kol vytvo°it realisticky vyhlφ₧ejφcφ animaci tak, aby jejφ pr∙b∞h odpovφdal p∙sobenφ skuteΦn²ch fyzikßlnφch sil (nap°. prost² pßd p°edm∞tu ze schod∙), strßvφ vytvß°enφm klφΦov²ch snφmk∙ velmi dlouhou dobu, a p°itom v²sledek nemusφ b²t v∙bec p°esv∞dΦiv². Ty nejv²konn∞jÜφ (a takΘ nejdra₧Üφ) programy nabφzely u₧ivatel∙m simulaci dynamiky, a¥ u₧ v jednoduÜφ Φi slo₧it∞jÜφ podob∞, ji₧ d°φve. A₧ v nedßvnΘ dob∞ vÜak v²razn² nßr∙st v²poΦetnφho v²konu umo₧nil implementaci dynamiky do v∞tÜiny nejpou₧φvan∞jÜφch program∙ - v r∙zn²ch formßch a na r∙znΘ ·rovni.
Podφvßme-li se na programy, o nich₧ v naÜich zem∞pisn²ch Üφ°kßch asi nejΦast∞ji uslyÜφte, zjistφme, ₧e z hlediska jejich prßce s dynamikou stßle hrajφ prim sta°φ (nejdra₧Üφ) znßmφ - Maya a Softimage. 3ds max mß od ΦtvrtΘ verze dynamiku takΘ, dφky modifikßtoru Flex vΦetn∞ soft bodies (simulace pru₧n²ch Φi m∞kk²ch deformujφcφch se objekt∙), p°esto pro profesionßln∞jÜφ nasazenφ se jevφ mnohem lepÜφ plug-in Reactor od Havoku, nabφzen² p°φmo pod k°φdly samotnΘho Discreetu. Caligari trueSpace nabφzel jednoduchou, ale spolehliv∞ fungujφcφ simulaci n∞kter²ch fyzikßlnφch sil ji₧ ve verzi 3. U LightWave nenφ v tomto ohledu situace asi takovß, jak by si jeho u₧ivatelΘ p°edstavovali. P°esto dφky Motion Designeru 2 a hlavn∞ plug-in modulu Impact 2 od Dynamic Realities je mo₧nΘ vyu₧φt dynamiku v p°φpadech, kdy je to vy₧adovßno. A nynφ je tu Cinema a plug-in Dynamics.
Mo₧nosti Dynamics
Plug-in se dodßvß ji₧ tradiΦn∞ v kovov∞ vyhlφ₧ejφcφ krabici zcela v∞rnΘ designu ostatnφch produkt∙ Maxonu. V nφ najdete instalaΦnφ CD spolu s manußlem, v n∞m₧ krom∞ popisu programu a tutorial∙ je zhruba od dvou t°etin takΘ referenΦnφ manußl. Instalace je bezproblΘmovß, program vy₧aduje pouze Cinemu verze 7.2 (update na verzi 7.2 je souΦßstφ CD; zm∞ny mezi verzemi 7.1 a 7.2 jsou opravdu minimßlnφ, v podstat∞ jde o plug-iny a nepodstatnΘ zm∞ny v n∞kolika dialogov²ch panelech).
Po instalaci nenastßvß v Cinem∞ ₧ßdnß zm∞na, jen v menu Plugins p°ibude polo₧ka Dynamics. Zßkladem prßce s dynamikou v Cinem∞ je Solver objekt (SO). Ostatnφ objekty s vlastnostmi dynamiky se ve stromovΘ struktu°e umφs¥ujφ pod n∞j. Je to praktickΘ a p°itom nutnΘ °eÜenφ, proto₧e takto si sami urΦujete, kter²ch objekt∙ se dynamika t²kß a ostatnφ pak nemusφ b²t brßny v potaz. U SO se nastavujφ zßkladnφ vlastnosti, jako rozsah snφmk∙ v animaci, v nich₧ bude dynamika p∙sobit, integraΦnφ metoda (Midpoint - rychlß, ale ne p°φliÜ p°esnß, Runge-Kutta - 10x p°esn∞jÜφ, ale takΘ 4x pomalejÜφ, Adaptive - nejp°esn∞jÜφ a takΘ nejpomalejÜφ) a faktory Oversampling a Subsampling, ovliv≥ujφcφ p°esnost matematick²ch v²poΦt∙ pohybu t∞les v dynamickΘm systΘmu. NemΘn∞ d∙le₧it²m parametrem je Epsilon (Eps), co₧ je vzdßlenost mezi objekty, kde dochßzφ ke kolizφm, a s nφm souvisejφcφ Rest Speed, ovliv≥ujφcφ "zasekßvßnφ" objekt∙ do sebe. K n∞mu ve v∞tÜin∞ dynamick²ch systΘm∙ dochßzφ k nespokojenosti u₧ivatel∙ se ₧eleznou pravidelnostφ. Jestli₧e mßte vytvo°en Solver objekt, m∙₧ete ostatnφm objekt∙m ve scΘn∞ p°i°azovat dynamickΘ charakteristiky.
Zßkladnφm a nejvyu₧φvan∞jÜφm °eÜenφm je prßce s Rigid bodies (RB) - objekty, kterΘ p°i kolizi nem∞nφ svou geometrii, jsou tedy velmi blφzkΘ v∞tÜin∞ objekt∙ v reßlnΘm sv∞t∞. Ka₧d² objekt RB mß svou hmotnost a rychlost, co₧ definuje jeho pohyb a interakci s jin²mi t∞lesy ve scΘn∞. P°i simulaci kolizφ na pomalejÜφch strojφch nebo p°i prßci se slo₧it∞jÜφmi modely m∙₧ete nastavit typ detekce kolizφ. NejjednoduÜÜφ je kvßdr (t∞leso je nahrazeno kvßdrem stejnΘho objemu), nßsleduje elipsoid (vhodn² na sfΘrickΘ typy objekt∙) nebo plnß kolize (uva₧ovßn je p°esn² tvar t∞lesa, Φφm₧ je tento zp∙sob detekce nejpomalejÜφ, bohu₧el u slo₧it∞jÜφch objekt∙ nezbytn²). Pokud jsou ve scΘn∞ tak slo₧itΘ objekty, ₧e nepom∙₧e kvßdr ani elipsoid a p°i pln²ch kolizφch je v²poΦet nep°ijateln∞ dlouh², nabφzφ Cinema mo₧nost vytvo°enφ tzv. proxy modelu. To je model s v²razn∞ snφ₧en²m poΦtem polygon∙, k jeho₧ vytvo°enφ se v²teΦn∞ hodφ ji₧ od verze 7 zdarma dodßvan² plug-in Polyreduction. Krom∞ RB v Cinem∞ naleznete takΘ Rigid Body Spring, co₧ je sv²m zp∙sobem jednoduchß forma Constraint (viz dßle). Jen vyjmenovßnφ dalÜφch nastaviteln²ch parametr∙ by vydalo na dlouh² seznam, proto se jen struΦn∞ zmφnφm, ₧e u RB naleznete samoz°ejm∞ elasticitu, koeficienty statickΘho a dynamickΘho t°enφ a t°eba takΘ volbu Double Sided, kdy se p°i v²poΦtu berou v ·vahu ob∞ strany polygonu.
Soft Bodies (SB) jsou tφm nejmocn∞jÜφm nßstrojem, kter² Dynamics nabφzφ. SB se pou₧φvajφ p°i simulaci objekt∙, kterΘ b∞hem animace m∞nφ tvar, nap°φklad vlajφcφ prapor, Üaty na animovanΘ postav∞, skßkajφcφ mφΦ deformujφcφ se dopady na tvrd² povrch apod. SB objekt nep°edstavuje jednotnou hmotu jako v p°φpad∞ RB, ale je tvo°en z mnoha dφl∙, z nich₧ ka₧d² je reprezentovßn jednφm bodem. Body tvo°φ sφ¥ a stanovenφm pru₧nosti mezi body zφskßte kontrolu nad vlastnostmi objektu. Pro ka₧d² bod je mo₧nΘ nastavit hmotnost - pokud bude nap°φklad nulovß, nebude vybran² bod v pohybu. Cinema rozeznßvß n∞kolik metod vzßjemnΘho ovliv≥ovßnφ bod∙ (MinMax, Structural, Shear, Flexion, Cloth), ve v∞tÜin∞ p°φpad∙ se vÜak neobejdete bez jejich kombinace. Vedle plnΘ kolize s ostatnφmi objekty m∙₧ete takΘ nastavit detekcφ kolizi sama se sebou, co₧ je velmi ₧ßdoucφ zejmΘna u tkanin. Pro tkaniny je v dialogovΘm panelu dokonce specißlnφ nastavenφ a samoz°ejm∞ mnoho dalÜφch parametr∙ jako tuhost objekt∙ (snadno tak vytvo°φte nap°. ₧elatinovΘ kostky) nebo tlumenφ.
Constraints jsou pou₧φvßny k omezenφ pohybu - jejich pomocφ m∙₧ete zafixovat pohyb v jednΘ nebo vφce osßch, ovlivnit rotaci, zastavit pohyb apod. V reßlnΘm sv∞t∞ najdeme op∞t dostatek p°φklad∙ - typick²m je kyvadlo, kde by se Constraint pou₧il na jeho uchycenφ, dalÜφm nap°φklad ukotvenß pru₧ina, na jejφm₧ konci se houpe koule. Prßv∞ otoΦn² ·chyt pru₧iny je Constraint - tento typ naz²vß Cinema konkrΘtn∞ Joint. Mezi dalÜφ pat°φ Velocity (ovlivnφte rychlost) Φi Motor (rotace konstantnφ ·hlovou rychlostφ). Constraints je mo₧nΘ vyu₧φvat pouze ve spojenφ s Rigid Bodies, u Soft Bodies vypom∙₧e nastavenφ nulovΘ hodnoty pro vybranΘ kontrolnφ body ve spojenφ s Restriction Tag.
Pro simulaci dynamiky je podstatnß gravitace. Cinema nabφzφ krom∞ definovatelnΘ intenzity takΘ mo₧nost nastavit sm∞r a orientaci gravitaΦnφho pole jako axißlnφ (v jednom sm∞ru), radißlnφ (radißln∞ z jednoho bodu), typu Newton (p°i kladnΘ intenzit∞ p°ita₧livost, p°i zßpornΘ odpudivost - je velmi vhodnß nap°. na simulaci eliptick²ch drah u planet). Ovlivnit m∙₧ete i tvar gravitaΦnφho pole - krychle, koule, vßlec, ku₧el a torus, v₧dy s mo₧nostφ nastavenφ gradientu intenzity.
DalÜφ u₧iteΦnou veliΦinou je p∙sobenφ v∞tru. V reßlnΘm sv∞t∞ jde o pom∞rn∞ komplikovanou zßle₧itost, proto je logickΘ, ₧e v Dynamics existuje pro v²slednou sφlu zjednoduÜenφ - mß t°i slo₧ky, jejich₧ intenzita se dß nastavit koeficienty. Prßv∞ spojenφm Soft Bodies s v∞trem vytvo°φte vlajφcφ prapor, zßclony, vlnφcφ se tkaniny apod.
Drag Φili odpor je t°etφ d∙le₧itou veliΦinou. Jeho vyu₧itφ je rozmanitΘ, poΦφnaje tlumenφm p°i dopadu p°edm∞tu, odporem vzduchu proti pohybu objektu apod. Drag je nastaviteln² ve t°ech re₧imech (Linear, Angular, Axial) a p∙sobφ proti sm∞ru pohybu objektu.
Dynamics nabφzφ samoz°ejm∞ mnohem vφc, najdete tu nap°φklad i takovΘ vychytßvky jako Break, kter² vyu₧ijete, kdy₧ budete modelovat kouli na gum∞ - pokud p°i pru₧enφ p°esßhnete urΦitou mez, koule prost∞ upadne.
Sφla Dynamics spoΦφvß nejen v mo₧nosti vzßjemnΘ kombinace v²Üe popsanΘho, ale p°ekvapiv∞ takΘ ve stromovΘ struktu°e, kterou Cinema dodr₧uje. M∙₧ete mφt nap°φklad libovoln² poΦet Solver objekt∙, u ka₧dΘho z nich specifickou gravitaci, odliÜnou odporovou sφlu apod. Za vÜechny uvedu jeden p°φklad: chcete, aby se p∙sobenφm v∞tru vlnila zßclona a p°itom spadl z okna na zem kv∞tinßΦ. U kv∞tinßΦe i u zßclony musφte mφt nastavenu hmotnost a gravitaci. Kdy₧ aktivujete vφtr, zßclona vlaje, ale souΦasn∞ se jeho p∙sobenφm zaΦne pohybovat kv∞tinßΦ, a to i b∞hem pßdu. Mφsto zdlouhavΘho lad∞nφ hmotnostφ je jednoduch²m °eÜenφm vytvo°it dva Solver objekty, z nich₧ pouze pod jednφm bude gravitace.
P°i prßci s dynamikou je d∙le₧itΘ m∞°φtko - je toti₧ velk² rozdφl, jestli mß skßkajφcφ mφΦ pr∙m∞r 100 metr∙ nebo 1 centimetr. Rozdφlnß je nejen hmotnost, ale takΘ poΦφtanß gravitace. VhodnΘ je vyu₧itφ hyperNURBS - nap°φklad pro dokonalou iluzi vlajφcφho praporu staΦφ mφsto hustΘ polygonovΘ sφt∞ vyu₧φt hyperNURBS, Φφm₧ dosßhnete nßdhernΘho vyhlazenφ tvaru a poΦφtßnφ bude stßle probφhat v reßlnΘm Φase.
Tφm se dostßvßme k hardwarov²m nßrok∙m aneb jak rychl² pot°ebujete poΦφtaΦ, aby simulace v editoru b∞₧ely plynule. Na to, abyste pracovali se slo₧it²mi objekty, m∞nili libovoln∞ nastavenφ a pozorovali zm∞ny, tΘm∞° jist∞ nestaΦφ ani dneÜnφ nejv²konn∞jÜφ procesory. To v∞dφ i auto°i, a proto mß Cinema funkci MakePreview, kterß p°edem vypoΦte nßhled celΘ animace. Rychlostn∞ na tom Dynamics nenφ v∙bec Üpatn∞, zvlßÜt∞ kdy₧ dodr₧ujete m∞°φtko, pou₧φvßte jednoduchΘ modely (p°φpadn∞ proxy modely) a povolujete a nastavujete jen ty parametry, kterΘ jsou opravdu pot°ebnΘ. Äe to jde, dokazujφ p°edinstalovanΘ jednoduchΘ scΘny - mßte nap°φklad misku a v nφ p°edm∞t. S miskou v reßlnΘm Φase pohybujete, p°edm∞t se odrß₧φ od st∞n nebo vyskoΦφ, m∙₧ete ho chytat apod. Podle m²ch zkuÜenostφ nebudete mφt u₧ s procesorem kolem 500 MHz pocit, ₧e sledujete zpomalen² film.
Hodnocenφ
V p°edchozφch °ßdcφch jsem uvedl °adu klad∙ a mo₧nß namφtnete, ₧e chyb∞jφ zßpory. Kdy₧ ony se opravdu t∞₧ko hledajφ. Kdy₧ u₧ jsem si myslel, ₧e jsem Dynamics nachytal "na hruÜkßch" a provßd∞nΘ simulace byly p°inejmenÜφm podez°elΘ (vÜe se najednou zpomalilo, objekty se zasekly do sebe, objekt zmizel neznßmo kam), v₧dy jsem zjistil, jak danΘ situaci p°edejφt, p°φpadn∞ kde jsem co Üpatn∞ nastavil. Malß v²tka by snad byla k tomu, ₧e auto°i mohli rovnou p°ipravit paletu s Dynamics a integrovat ji do prost°edφ t°eba jako v p°φpad∞ BodyPaintu - ono toti₧ nestaΦφ nap°φklad u Soft Bodies posunout objekt ve scΘn∞. Nejd°φve musφte deaktivovat Solver objekt a v menu plug-inu nalΘzt polo₧ku Initialize object, Φφm₧ novou pozici zafixujete. Pokud si p°φkazy nevytßhnete do novΘ palety, m∙₧ete se tak p°i jemnΘm lad∞nφ vφce objekt∙ "uklikat".
Celkov∞ mne schopnosti plug-inu p°esv∞dΦily, a to nejen proto, ₧e program b∞₧el korektn∞ a ani jednou mi nespadl, ale p°edevÜφm proto, ₧e jsem v n∞m byl schopen realizovat svΘ nßpady bez jakΘhokoliv omezenφ. Mo₧nß jsem nenarazil a₧ na samotnΘ hranice jeho mo₧nostφ, mo₧nß se najdou animßto°i, kter²m to, co Dynamics nabφzφ, nebude staΦit, ale troufßm si °φci, ₧e v∞tÜina u₧ivatel∙ bude spokojena. Dynamics nabφzejφcφ dynamiku pevn²ch a ohebn²ch t∞les je toti₧ jednoznaΦn∞ nejlepÜφ plug-in, kter² pro Cinemu v souΦasnΘ dob∞ existuje.
Ji°φ Chrustawczuk
Cinema Dynamics 1.005
Plug-in modul pro modelovßnφ dynamiky pevn²ch a ohebn²ch t∞les.