Aby ste si mohli urobiť predstavu o výsledku tohto tutoriálu, odporúčam vám pozrieť si príslušné video.
V pracovnom súbore PSD_C4D_R12_Dyn_Motor_Auto_Start.c4d sú najdôležitejšie prvky scény už pripravené, takže môžeme okamžite začať pracovať s dynamikou. Pretože začneme s rozširovaním malého hračkárskeho vozidla, všetky rušivé prvky scény sú dočasne skryté cez prepínače semafora v Objekt-Managerovi.
Postavenie scény
Stručne sa pozrime na zostavenie scény. Okrem auta sa nachádza aj objekt guľka ako neskoršia prekážka, HyperNURBS-objekt s integrovaným objektom krajiny a objekty podlahy, neba a objekty svetla na prostredie a osvetlenie scény.
Aby bolo postavenie vozidla čo najjednoduchšie a prehľadné, auto sa skladá len z karosérie a štyroch kolies. Kolesá tvoria celkom štyri objekty rúra, ktoré sú vyrovnávané v kladnom smere x a umiestnené na označené miesto na aute.
Aby sme si neskôr pri pripájaní konektorov a motorov uľahčili, každé kolo má pridelenú jeho pozíciu ako skratku (vl = vpredu-vľavo).
Karoséria generuje Extrude-NURBS-objekt zo Spline. Samozrejme, môžete použiť aj iné auto alebo inú karosériu; dôležitá je neskôr iba správna integrácia cez konektor alebo Dynamics Body-Tag.
V dialógovom okne nastavení Extrude-NURBS-objektu je šírka našeho auta. Získava sa posunom v x-smeru pri extrúzii. Na prirodzený, realistický vzhľad karosérie dbáme zaoblením na hraničných miestach.
Skryté v HyperNURBS-objekte je objekt krajiny, ktorý nám poskytuje funkčný terén pre offroadovú pasáž auta. Vďaka HyperNURBS-subdivízii môžeme pri segmentácii krajiny šetriť, pričom sa vyhneme príliš hranatému terénu.
Aby sme mali počas jazdy terénom ešte kúsok viac akcie, integrujeme niekoľko prekážok. V mojom prípade sú to jednoduché guľové objekty s polomerom 50 cm, ktoré sa neskôr náhodne rozmiestnia na teréne alebo na objekte krajiny pomocou MoGraphu.
Postavenie vozidla s konektormi a motormi
Poďme sa najprv zamerať na hračkárske auto. Aké funkcie musí vykonávať pre naše účely?
Najprv musia byť kolesá otáčateľne upevnené na vozidle, navyše potrebuje pohon na kolesách, aby sa vôbec mohol pohybovať sám. A samozrejme musí rozpoznávať kolízie - čo začína už tým, že kolesá sú na zemi.
Aby sme mohli zabezpečiť túto funkcionalitu prostredníctvom nových Dynamics z CINEMA 4D, potrebujú zapojené prvky konzervy Dynamics Body-Tags, aby ich Dynamics Engine vôbec prijala.
Začneme teda u štyroch kolies, ktorých všetky vyberieme v Objekt-Managerovi a definujeme ich cez menu Simulation>Dynamics ako pevné teleso.
Pretože všetky štyri koliesa samozrejme dostanú rovnaké dynamické vlastnosti, vyberieme štyri Dynamics Body-Tags a nastavíme požadované parametre.
Na stránke Dynamics môžeme prijať predvolené nastavenia. Okamžité spustenie je dôležité, aby koliesa okamžite mali kontakt s povrchom.
Na stránke Kolízia pomáhame dynamickému rozpoznávaniu kolízií tým, že nastavíme tvar na val z osi x. To konečne zodpovedá tvaru kolesa a zvyšuje výkon pri dynamickom výpočte. Aby sa vozidlo pri náraze do zeme len mierne odrazilo, nastavíme mierne pružnosť na 10%. Naopak zvýšime trenie na 120%, aby kolesá mohli na povrchu vytvoriť riadny grip.
Doprajme sa ďalšiemu prvku vozidla, karosérii. Bohužiaľ, Extrude-NURBS-objet sa kvôli svojej nepriaznivej polohe osi nehodí ako referenčný bod pre karosériu, preto necháme jednoducho vyskúšať nadriadený Nulový objet Auto. Jeho os sa nachádza v strede auta.
Preto priradíme Nulovému objektu Auto cez menu Simulation>Dynamics Dynamics Body-Tag ako pevné teleso.
V dialógovom okne nastavení značky Dynamics Body-Tag umožníme okamžité spustenie pre autá.
Na stránke zrážok musíme zohľadniť hierarchiu nášho vozidla, aby karoséria vôbec mohla byť rozpoznaná. Nastavíme druhy zrážok na Kompletný kolízny formulár a vyberieme ako najlepšiu formu konvexnú obalovú telu alebo pohyblivé sito.
Ostatné vlastnosti zrážok môžeme ponechať; nakoniec sa vozidlo v podstate bude stáť na štyroch kolesách a nie je nutné, aby sa prevrátilo.
Aby sme si istotu, že ako ťažisko pre náš vůz tiež istotne používame požadovanú os, musíme na chvíľu prejsť na stránku hmotnosti.
Aktivujeme možnosť Vlastného ťažiska hmotnosti - pretože však nechceme odchýliť sa od definovanej osi, necháme hodnoty offsetov X, Y a Z na 0.
Ak by sme teraz spustili animáciu, náš vůz by sa jednoducho zrútil. To nie je prekvapujúce, pretože sme definovali len päť Dynamics Bodov, z konštruktívnych súvislostí o ničom nevie CINEMA 4D (ešte) nič.
To zmeníme teraz s Konektormi. S nimi pripevníme kolesá na auto, umožníme rotáciu okolo osi kolesa a súčasne dosiahneme slušné odpruženie kolies cez terén.
V menu Simulácia>Dynamics získavame prvý Konektor.
Každé koleso dostane vlastný konektor. Začneme s predným ľavým kolesom a novovyrobený Konektor premenováme adekvátne. Aby konektor prevzal polohu kolesa, aktivujeme nástroj Prijímač z menu Funkcie a vytiahneme Koleso vl do Polička objektu pre prevzatie.
Po kliknutí na tlačidlo Priradiť sa konektor nachádza na rovnakej pozícii ako predom dané koleso.
Rovnakým spôsobom vytvoríme ďalší Konektor; tentoraz pre predné pravé koleso. Aj tomuto Konektoru priradíme polohu príslušného kolesa cez príkaz Prijmi.
Skôr než budeme pokračovať s zadnými kolesami, vyrovname Konektory na predných kolesách správne. Na toto označíme Konektor a otočíme ho pomocou Hlavičkového uhla v Správcovi vlastností s žltým časťou pre závesom von. Pre pravé predné koleso vyjde uhel 90°, pre ľavé predné koleso -90°.
Rovnakým postupom môžete teraz vybaviť aj dve zadné kolesá Konektormi na správnej pozícii a s korektným zotavením. Dolný obrázok ukazuje štyri umiestnené Konektory z pohľadu hore.
Aby boli Konektory viditeľné aj vtedy, keď nie sú označené, aktivujte na stránke zobrazenia dialógu nastavenia Konektorov jednoducho možnosť Vždy viditeľné. Zmenšite veľkosť Konektorov, tak budú lepšie ladiť ku koču.
Teraz môžeme konečne stanoviť správnu funkciu pre Konektory; napokon chceme pružné osi a nie závesy na aute. To urobíme na objektovej strane, kde pre každý z štvorice Konektorov stanovíme typ Kolesového odpruženia.
Ešte stále máme štyri Konektory označené, pretože aj ďalšie nastavenia môžeme urobiť pre každé z štyroch kolesových odpružení. Ako prvý objekt pre viazanie Konektorov vťahujeme Auto nulový objekt ako Objekt A, do príslušného poľa.
Ako tuhosti pružiny zvolíme hodnotu 20, pre odpruženie pružiny, teda rýchlosť, s akou sa pružina vráti späť, zvolíme hodnotu 20%.
Aktivujeme dolné a horné obmedzenie v smere Y s posunom 20 cm. Je nepravdepodobné, že by sa náš vůz dostal na tieto hranice, ale scéna sa tým stane přehľadnejšiou.
Teraz sa venujeme jednotlivým Konektorom alebo Kolesovým odpruženiam. Jedinú úpravu, ktorú musíme urobiť pre každý Konektor, je druhý objekt pre viazanie. K tomu vťahujeme do poľa Objekt B príslušné koleso ku každému Konektoru.
Keď sme nastavili všetky štyri konektory alebo pružiny kolies, integrujeme ich do hierarchie objektu v vozidle. Umiestnime ich blízko kolies ako podobjekt do nulového objektu "Auto".
Čo chýba našemu hračkárovimu automobilu, je pohon, aby sa mohlo pohybovať samostatne. Pre terén by bol žiaduci pohon všetkých kolies, avšak v našom príklade majú byť poháňané len obe predné kolesá motormi. Dva motory, pretože tak prenos energie na jednotlivé kolesá prebieha fyzikálne správne.
Inštalujeme prvý motor do sceny cez menu Simulácia>Dynamika.
Analógne k konektorom aj motor premenováme podľa poháňaného kolesa. Tu má motor poháňať ľavé predné koleso.
Pomocou nástroja Prevziať z menu Funkcie necháme motor prevziať pozíciu kolesa. Po kliknutí na tlačidlo Priradiť sa motor umiestni na požadované miesto a musí byť len zarovnaný.
Toto vykonáme cez Správca atribútov na stránke súradníc. Otočíme motor o headingový uhol 90° tak, že žltý smer pohybu zodpovedá rotácií kolesa.
Motor je viazaný cez polia objektu v jeho nastaveniach. V našom prípade potiahneme predné ľavé koleso do pola Objekt A. Motoru priradíme cilzanú úhlovú rýchlosť 400° a točivý moment 50.
Rovnakým spôsobom nainštalujeme ďalší motor pre pohon pravého predného kolesa. Primerane ho premenováme a opäť pomocou nástroja Prevziať odovzdáme pozíciu príslušného kolesa motoru.
Druhý motor tiež otočíme cez Správcu atribútov do správneho smeru a tentoraz odovzdáme predné pravé koleso ako Objekt A.
Druhý motor samozrejme dostane rovnaké parametre pre cilzanú úhlovú rýchlosť a točivý moment.
Tak je pohon správne namontovaný do vozidla. Odporúčam zaradiť motory ako podobjekt do hierarchie objektov vozidla, aby bol editor prehľadný aj počas simulácie.
Pred tým, než môžeme naše auto konečne pustiť na cestu, potrebujeme stabilný povrch, pretože doteraz by sa hračkové auto jednoducho zrútilo do prázdna.
Pre naše prvé testy a ako podkladovú plochu pre neskôr, premeníme pôdu na kolízny objekt. Vyberieme plošinu objektu a priradíme jej príslušné telo dynamiky cez menu Simulácia>Dynamika.
Ako je zvykom pri čistom kolíznom objekte, dialógové okno nastavení je pomerne prehľadné. Zaujíma nás najmä koeficient trenia. Nastavíme ho na 100%, aby kolesá rýchlo našli úchop a mohli riadne zrýchliť.
Keď stlačíme tlačidlo prehrávania, hračkové auto sa už samé začne pohybovať. Neskôr mu dodáme ešte malé ovládanie; teraz sa však zatiaľ staráme o terén.
Rozšírenie scenérie dynamickými a MoGraph prvkami
Doposiaľ neviditeľné, pretože je vypnuté ako parametrický objekt cez Objektový manažér, slúži Krajinský objekt teraz ako členitý terén. Podobne ako v prípade Plošiny objektu, musíme terén ešte zadefinovať ako kolízny objekt. Priradíme nadradenému HyperNURBS objektu telo dynamiky cez menu Simulácia>Dynamika ako kolízny objekt.
Aj pri tomto kolíznom objekte je dôležitá kolízna stránka dialógového okna nastavení. Potrebujeme kolíznu formu statického terénu, aby sa auto neskôr mohlo dotýkať každej nerovnosti na povrchu. Podobne ako pri plošine objektu, priradíme aj tu vysoký koeficient trenia 100%.
Vyskúšajme rovno, ako sa náš automobil v teréne vyrovná. Na to však najskôr presunieme celú skupinu automobilov cez Z-koordinátu v Správcovi atribútov na 3000 cm. Automobil tak stojí pripravený v smere jazdy a môže sa so zápalom dopracovať na terén.
Po kliknutí na tlačidlo prehrávania môžeme sledovať, ako sa naše hračkové auto statočne prieberá cez pahorkatinu. Pre zlepšenie scény môžeme navyše pridať prekážky.
Východisko pre naše prekážky už existuje vo forme guľového objektu. Aby klonované guľky neskôr nie len stáli v ceste automobilu, ale aj sa od neho odpýtali, musíme ich definovať ako tuhé teleso. V podstate je jedno, či je guľa sama alebo klonovaný objekt priradený ako telu dynamiky. Lebo s prvou možnosťou môžete každému typu klonu prideliť vlastné dynamicke vlastnosti.
Priradíme teda objektu guľky požadovanú etiketu tela dynamiky ako tuhej telesu; nájdete ju ako obvykle v menu Simulácia> Dynamika.
V dialógovom okne nastavení pre etiketu tela dynamiky pre guľu nastavíme na stránke dynamika spúšťanie na Pri kolízii. Tak sa guľky nezačnú nežiaduco samé pohybovať, ale reagujú až vtedy, keď automobil alebo iná guľa spôsobí kolíziu.
Vzhľadom na jednoduchý tvar objektu dôverujeme automatickej detekcii kolízie; zvýšený trenie 80 % udržuje guľky prevažne na zemi, takže sa bez nežiaduceho skákania jednoducho valia po teréne.
Teraz je guľa vybavená dynamickými vlastnosťami, takže ju môžeme rovnakomerno rozdeliť po teréne. Na to použijeme klonový objekt z menu MoGraph.
V Objektovom manažéri priradíme objekt guľky ako klon do klonového objektu. Keďže používame parametrickú guľu, ktorá ako referenčný bod používa stred guľy, umiestnenie klonov guľiek by v súčasnosti znamenalo, že všetky klonované guľy sú z polovice zapustené do terénu.
Aby sme tomu zabránili a guľky posunuli smerom nahor vzhľadom na polomer, na stránke transformácie dialógového okna nájdeme možnosť nastavenia ofsetu. Guľky posunieme v smere Z o 50 cm, čo je polomer guľy.
Skutočné nastavenia pre duplikáciu a rozdelenie klonov vykonávame na stránke objektu dialógového okna nastavení.
Najskôr zvolíme režim objekt; nakoniec chceme použiť objekt krajiny na distribúciu klonov. Tento zmienený objekt krajiny následne pretiahneme do príslušného poľa objekt.
Rozdelenie klonov by sa malo vykonať na pozemku objektu, počet môžete samozrejme určiť sami. Aby sa automobil nemusel zbytočne vyhýbať mnohým guľkám, odporúčala by sa maximálna početnosť guľiek do 80.
V dolnom obrázku vidíte súčasný stav renderovania. Guľky boli úspešne rozmiestnené na objekte krajiny, ale stále všetky smerujú rovnakým smerom. Za pomoci efektoru náhody je však tento malý problém rýchlo vyriešený.
Aby sme efektoru náhody priamo pri pripojení klonovacieho objektu priradili ako pôsobisko, vyberieme klonovací objekt v objektovom manažéri, predtým než z menu MoGraph>efektory. vyberieme efektor náhody.
V nastaveniach efektora na stránke parametre nájdeme transformačné parametre. Keďže guľky majú byť len otáčané cez všetky osi, potrebujeme len zmenené parametre uholov. Uhol 90° na každej strane je dostatočný na poskytnutie dostatočného priestoru pre rôzne rotácie.
Testovacie renderovanie ukazuje, že guľky sú teraz úplne náhodne rozmiestnené na krajine vďaka efektoru náhody.
Teraz je najvyšší čas dať naše hračkové auto aj na prekážky. Keďže by sme v budúcnosti mali počítať s väčším počtom zrážok, oplatí sa pozrieť do Dynamickej predvoľby pod Nastavenia dokumentu v závislosti na veľkosti a škálovaní prekážok.
Keďže veľkosť guľôčok, kolies a aj hračkového auta sa veľmi blíži prednastavenej škále a dobre zvláda s kolíznou toleranciou, v mojom príklade nie sú žiadne úpravy potrebné.
Aby sa hračkové auto hneď po štarte nevytratilo z dohľadu, nájdete v zložke scény v Objektovom managéri aj terčovú kameru, ktorá sa automaticky nastavuje na auto. Vo svojom Vyrovnanom výraze je stanovené, že nesmie stratiť z očí objekt Auto.
Aktivujeme ju kliknutím na biely symbol hľadača v Objektovom managéri.
Teraz môžete stlačiť tlačidlo prehrávania a sledovať auto pri jeho jazde cez terén s prekážkami.
Inštalácia jednoduchého ovládania auta s XPresso
Ešte lepšie by bolo, ak by auto nebolo len jednoducho riadené cez terén, ale ak by sme ako používatelia mali aj možnosť riadenia. Pre náš príklad postačuje jednoduchá možnosť otáčania doľava alebo doprava pomocou posuvníka. Hoci by sme vlastne mali riadiť dve objekty (kolesá alebo konektory), ale chceli by sme mať len jednoduchý posuvník, integrujeme si svoj vlastný riadiaci parameter v podobe Užívateľských údajov.
Na to vyberieme skupinu Auto a pridáme v Objektovom manažéri svoje vlastné Užívateľské údaje cez Užívateľ v Manažéri atribútov.
Otvorí sa okno Správa užívateľských údajov. Tu nájdete všetky individuálne Užívateľské údaje patriace k objektu. Novo vytvorený záznam ihneď premenujeme na Riadenie a dodatočne v Polí s vlastnosťami uvedieme, aký má byť rozsah parametra.
Ako Rozhranie zvolíme Posuvník s desatinným číslom v jednotkách Stupňov. So zreteľom na prehľadnosť volíme Krokovanie 1°.
Pretože nechceme, aby sa kolesá príliž veľmi otáčali a prekrývali sa s vozidlom, obmedzíme minimálny výchylku na -30° a maximálnu výchylku na 30°. Prednastavená hodnota 0° zabezpečuje, že kolesá na začiatku smerujú rovno.
Po uzavretí dialógu s OK a vytvorení Užívateľských údajov nájdeme na stránke Užívateľských údajov náš vytvorený parameter Riadenie ako požadovaný posuvník.
Takže sme vytvorili možnosť riadiť vlastný parameter. Teraz ho len musíme správne presmerovať na správne miesto v našom navrhovaní vozidla.
Parádna úloha pre XPresso. Na to potrebujeme najprv XPresso značku, ktorú najjednoduchšie priradíme v kontextovom menu pravým kliknutím v podnabídky CINEMA 4D značka.
Ako nositeľ pre túto Expresiu sa samozrejme dokonale hodí naša skupina Auto.
Dvojkliknutím na XPresso značku otvoríme XPresso Editor. Prvým záznamom alebo Uzolom je Null-Object Auto z Objektového manažéra, ktorý pretiahneme do okna XPresso Editora.
Aby sme náš vlastný vytvorený Parameter dostali ako Port k dispozícii na prepojenie, klikneme na červené tlačidlo výstupných portov a vyberieme si Port Riadenie z podnabídky Užívateľské údaje.
S naším parametrom Riadenie chceme ovplyvniť ostré uhly ovládania Konnektorov odpruženia kolies. Aby sme mohli pristupovať ku týmto parametrov v XPresso Editor, vyberieme si obidva Konnektory ľavého a pravého predného kolesa v Objektovom manažéri a tiež pretiahneme obidva objekty do XPresso Editor.
Keďže chceme odovzdať Hodnotu obidvom Konnektorom, potrebujeme parametre Ostrých uhlíkov na Vstupnom porte. Klikneme na modré tlačidlo vstupných portov Konnektorov a vyberieme si z podnabídky Vlastnosti objektu pre každý z nich port Ostrý uhol.
Teraz musíme len ešte pripojiť obidva porty pre riadiace uhly k portu riadenia auta. Jednoducho to dosiahneme ťahaním s podržaným tlačidlom myši z jedného portu na druhý.
Náš krátky výlet do XPresso je už bohužiaľ ukončený, takže môžeme zavrieť XPresso-Editor. Aby sme nemuseli stále hľadať nulový objekt a jeho políčko pre používateľské údaje pre riadenie auta, jednoducho integrujeme riadiacu šmykľavú lištu priamo do Hlavného zobrazenia (HUD) editora.
Na to klikneme pravým tlačidlom myši na položku parametrov Riadenie v Riaditeľovi atribútov a vyberieme z kontextového menu príkaz Pridať do HUD.
Na presun položky v HUD-e v editore jednoducho kliknite s podržaným (Ctrl)- alebo (Ctrl)-tlačidlom na prvok HUD-u a myšou ho umiestnite na vhodné miesto.
Čo je ešte dôležité, aby prvok HUD-u nebol viditeľný iba v prípade, že je vybraté naše vozidlo, klikneme pravým tlačidlom myši na príslušné kontextové menu a z menu Zobraziť vyberieme možnosť Vždy.
Teraz môžete stlačiť tlačidlo prehrávania a pomocou šmykľavého prvku ľubovoľne posielať auto po tomto teréne. Dávajte pozor, aby ste pri začiatku každej jazdy vrátili riadenie na pôvodnú hodnotu, aby auto nedostalo prevrátenie.
Kto chce dobrodružnú jazdu neskôr previesť na animáciu, jednoducho si zoberie dôležité riadiace body Kľúčové snímky (Keyframes) pre danú hodnotu riadenia. Zábavu pri preplňovaní tohto terénu!