Modelování řetězu jízdního kola

01.02.2005 Autor: 53% (640 hlasů)

V tomto tutorialu si ukazeme jak pomoci Nurbs krivek vymodelujeme clanek retezu a nasledne jej nakopirujeme po krivce. Tento tutorial neni urcen naprostym zacatecnikum, ale nepatrne pokrocilejsim.

V tomto tutorialu si ukazeme jak pomoci Nurbs krivek vymodelujeme clanek retezu a nasledne jej nakopirujeme po krivce. ( maya sice nema funkci kopirovani po krivce, ale ukazeme si jak si takovou funkci napodobime pres mel script v MAYA ) ....(k tomuto tutorialu budeme dale potrebovat program excel, kde si pripravime mel script do maya)...tento tutorial neni urcen naprostym zacatecnikum, ale nepatrne pokrocilejsim.

k takovemu vysledku bychom se meli dostat obrazek 1:


krok1:

(vytvoreni obrysu clanku)
(vytvoreni obrysu clanku) vytvorte Nurbs krivku kruh (Circle),, o zakladnich hodnotach., prepnete se do Top pohledu a pravym tlac. mysi kliknete na tu kruznici a vyberte edit point.....oznacte 2 body jako to mam ja na obrazku 2:


... klavesou F3 se prepnete do modeling menu a v menu edit curves vyberte funkci detach curves ... tim se nam ta kruhova krivka rozdeli na 2 krivky v miste ktere jsme vybrali,.... nyni tu mensi krivku umazte ( oznacte ji a stisknete delete ).. zbyvajici vetsi cast posuneme v ose X na hodnotu 1.1... vytvorime kopii ( zalezeme do edit / duplicate / option box ) a zadame translate v ose x -2.2 a dale scale v ose x -1.. a v ose z -1 ....tim se nam vytvori zrcadlena kopie. obrazek 3:


vybereme obe krivky a edit curves / attach curves/ optoin box...pouze odskrtneme keep originals a aplikujeme.... tim se nam nahore udela pekny plynuly spoj. ... jeste zalezeme znovu do edit curves / open/close curves / option box ... a zakrtneme blend ..aplikujeme ..... tim se nam plynule spojila i spondi cast a krivka je tak uzavrena obrazek 4:


tim mame hotov zakladni obrys clanku ...

krok 2:

(vytvoreni modelu clanku z obrysu)..
prepnete se do perspektivniho pohledu a tu obrysouvou krivku duplikujte ( pozor: nezapomente vyresetovat hodnoty pri tom duplikovani v option boxu ).. tu jeji vytvorenou kopii posunme v ose Y= 0.2 ..obzazek 5:


..nyni si oznacte obe krivky a v survaces / loft / option box .. a jedeme v output geometri vyberte polygons , type dame quads ...Number U 35... a Number V 2 ... ( ten number u si muzete dat i vyssi pokud chcete husteji polygonovy objekt..ale vzhledem k tomu ze tech lanku je v retezu hodne a jsou pomerne male , zamerne jsem zvolil takto nizkou hodnotu, aby to zbytecne nebylo pro pocitac moc narocne ) .. aplikujte .. meli by jste myt vysledek jako ja na obrazku 6:


krivky uz muzeme smazat ..nebudeme je dale potrebovat..nyni pridame spodni a vrchni stenu...pravym tlacitkem klepnete na ten objekt a vybetre edge dle obrazku 7:


..edit polygons / fill hole ,,, tim se nam udela pekne ucelenej povrch na spodni i vrchni stene. obrazek 8:


jeste ho trosku vylepsime.. ma ted moc ostre hrany .... takze: vyberte znovu edges podle obrazku 7 a najedte si do edit polygons / bevel / option box .. distance offset dejte 0.2 a aplikujte. ..meli by jste dostat to co ja na obrazku 9:


... tim mame za sebou hotovou1. cast toho nejhorsiho... ted uz jen dodelame zbytek , coz bude fofr ..takze .. vytvorte si create / polygon primitives / cylinder / option box a nastavujem: radius 0.8 , subdivisions on caps 0...a aplikujte.. vytvori se jednoduchej valec .. posunme ho na souradnice X -1.1 ...Y 1.1 obrazek 10:



.. vrchni a spodni viko muzete umazat, protoze v renderu stejne videt nebude, nebot bude zasazeno v jine casti objektu..( pokud vam ale nejde vyslovene o preciznost a jen si zkousite tutor , mazat to nemusite a normalne pokracujte dal ) nyni si oznacme spodni objekt , duplikujte ( s resetovanym nastavenim ) a tu duplikaci posunte kousek do leva na souradnice X -2.2 ...Y -0.22 ... obrazek 11:


dalsi veci kterou provedeme je spojeni 2 objektu ..obrazek 12:


oznacte je jako je to na tom obrazku 12 a jdete do polygons/ combine..(to nam je pekne spoji v jeden celek).. a nyni to zrcadlime ... edit / duplicate / option box ..a nastavujem: translate v ose Y 2.2 ..scale X -1 ..scale Y -1 ..a aplikujem .. meli by jste dostat to co ja na obrazku 13:


.. ted se prepnete do pohledu side .. a vytvorte nurbs krivku create / CV curve tool / option box ..curve degree zvolte 1 linear ..zapnete si snap to grid ( zachytavani k mrizce ) a nakreslete krivku jako mam ja na obrazku 14:


pote jdete do surfaces / revolve / option box .. a zadavame: output geometry: polygons ...type: quads ..tesselation method: general ...number u:2 .... number v: 20...aplikujeme. .dale:...otevreme si chanel box zadavame hodnoty: Translate X: -1.1 ..Translate Y: 0.28 ... scale X 0.06 ..scale Y -0.06 a scale Z 0.06 . ... meli by jste dostat to co mam ja na obrazku 15:


.. smazte tu vytvareci krivku a pokracujeme: oznacte si znovu ten nove vytvoreny objekt ktery jsme delali tou funkci revolve , duplikujte ho (nezapomenout resetovat nastaveni ! ), a posunte ho v ose X: -3.3 ... tim by jste mely mit to co ja na obrazku 16:


nyni si oznacte objekty podle obrazku 17:


.. a spojte do jednoho celku : polygons / combine .. nyni zbyvaji uz jen 3 rychle upravy: zrcadlete ten novy objekt: edit / duplicate / option box scale Translate Y 2.2 ..a scale Y -1 .. mely by jste mit to co ja na obr. 18:


..edit / delete all by type / history ,,,, tim vymazeme historii ,, dale umazme nepotrebne: Window / outliner .. zde vyberte: detachedcurve2 a lofted surface2 a stiskem klavesy delete vymazte. ... dale vyberte v outlineru polysurface1 a polysurface2 , jdete do polygons / combine ( tim mame jednu celou cast clanku spojenou v jeden celek ) ... dale v outlineru vyberte: polysurface3 a polysurface4 a zase pomoci combine spojte v jeden celek. .. znovu vymazte historii .. a v outlineru vyberte detached curve2 a loftedsurface2 a vymazte je. ..tim mame za sebou uspesne prvni dva kroky... nyni zbyva nakopirovat clanky retezu podle krivky.

krok 3:

(kopirovani po krivce)
i kdyz maya nema vestavenou funkci kopirovani po krivce, presto je mozne takovou funkci vyvolat pouzitim mel scriptu maya ... protoze nevim jestli je mozne provadet primo ve scriptu matematicke vzorce ( je to tim ze jsem v mel scriptu novacek ) , pouzil jsem pro vzorce microsoft excel ...pro dokonceni tohoto tutorialu sice neni nezbytne nutne excel ovladat, ale je to velikou vyhodou, protoze tvorba vzorcu v nem je prehledna a hlavne rychle a do melu se tak da vypocitat prakticky cokoliv a sloucit s mel textem a nasledne v maya pouzit jako hotovou funkci .... Mel script je dobre znat a umet pouzivat protoze to umi opravdu hodne v nekterych pripadech usnadnit praci, nebo provest operace, ktere by treba jinak nez pres mel ani nesli ,, nebo kdyz by sli , trvalo by vam treba i nekolik dni nebo mesicu nez by jste udelali to co ma mel za par vterin ... to co vam ukazu je hodne primitivni priklad a vlastne prvni ktery jsem si v nem zkusil.

... vytvorime si krivku na ktere budeme chtit mit nase clanky retezu .. na ukazku udelame krivku uplne primitivni .. prepnete se do pohledu top...a jedem: create / cv curve tool / option box .. resetnete nastaveni ,, zapnete si snap to grid a udelejte si krivku presne jako mam ja na obrazku 19:


dokoncete tvorbu krivky stiskem klavesy enter a otevrete si chanel box scale hodnote krivky zmente u vsech os X, Y, Z, na 2.26 .. .a nyni si vysvetlime, jak vlastne pouzijeme mel script: kdyz neco v maya delame, tak si muzeme i prohlednout , jak je to psane scriptem ... otevrete si script editor..eindow / general editors / script editor ...tady vidite okno jenz ma 2 casti ,, v te vrchni je zapsana kazda funkce kterou jsme doposud provadeli... je toho tam hodne, protoze jsme dlouho modelovali.. aby jste se v tom orientovali, vycistime si editor ..ve script editoru jdete do edit / clear history .. ted to mame krasne ciste .. ponechte si script editor otevreny a neco v maya udelejte ... treba vytvorte poly box .. vydite jak nam script ukaze, ktere prikazy pouzil... to ze se na nej takhle muzeme divat jsem vyuzil prave k tomu ze jsem potom mohl udelat neco , co by jinak neslo .. proste jsem animoval objekt po krivce, coz v maya jde normalne, ...spustil jsem animaci, zastavil , obekt se mi posunul po krivce , duplikoval jsem ho a animoval dal ,, zase jsem animaci posunul o kousicek , a duplikoval...... takto vsak delat celej retez by byla silenost :-) .. ale uzzitecna vec byla , ze jsem na tom kousku jak jsem sledoval script, videl prikazy ktere byly pouzity, aniz bychom si toho jinak vsimly , a mohl jsem je zacit zkoumat. ,,zkusil jsem si vzit radek vypsany script editorem a pouzil ho na tvorbu nejake jednoduche veci ..a .. woala ..fungovalo to ... dobra tedy rekl jsem si kdyz jde jednoducha vec, pujde i slozitejsi a tak jsem vysledoval , ze na celou kopii po krivce jsou potreba jen v podstate 3 prikazy a to jest, casovy usek , vyber obektu letici po krivce , jeho duplikace ,,,, tyto tri prikazy jdou vlastne porad dokola, akorad se navysuje casovy usek animace ... .. takhle vypada 1. cast scriptu:

select -r clanek ; currentTime 2 ; duplicate -rr; select -r clanek ; currentTime 4 ; duplicate -rr; select -r clanek ; currentTime 6 ; duplicate -rr; select -r clanek ; currentTime 8 ; duplicate -rr; select -r clanek ; currentTime 10 ; duplicate -rr; select -r clanek ; currentTime 12 ; duplicate -rr; select -r clanek ; currentTime 14 ; duplicate -rr; select -r clanek ; currentTime 16 ; duplicate -rr; select -r clanek ; currentTime 18 ; duplicate -rr; select -r clanek ; currentTime 20 ; duplicate -rr; select -r clanek ; currentTime 22 ; duplicate -rr; select -r clanek ; currentTime 24 ; duplicate -rr; select -r clanek ; currentTime 26 ; duplicate -rr; select -r clanek ; currentTime 28 ; duplicate -rr; select -r clanek ; currentTime 30 ; duplicate -rr; select -r clanek ; currentTime 32 ; duplicate -rr; select -r clanek ; currentTime 34 ; duplicate -rr; select -r clanek ; currentTime 36 ; duplicate -rr; select -r clanek ; currentTime 38 ; duplicate -rr; select -r clanek ; currentTime 40 ; duplicate -rr; select -r clanek ; currentTime 42 ; duplicate -rr; select -r clanek ; currentTime 44 ; duplicate -rr; select -r clanek ; currentTime 46 ; duplicate -rr; select -r clanek ; currentTime 48 ; duplicate -rr; select -r clanek ; currentTime 50 ; duplicate -rr; select -r clanek ; currentTime 52 ; duplicate -rr; select -r clanek ; currentTime 54 ; duplicate -rr; select -r clanek ; currentTime 56 ; duplicate -rr; select -r clanek ; currentTime 58 ; duplicate -rr; select -r clanek ; currentTime 60 ; duplicate -rr; select -r clanek ; currentTime 62 ; duplicate -rr; select -r clanek ; currentTime 64 ; duplicate -rr; select -r clanek ; currentTime 66 ; duplicate -rr; select -r clanek ; currentTime 68 ; duplicate -rr; select -r clanek ; currentTime 70 ; duplicate -rr; select -r clanek ; currentTime 72 ; duplicate -rr; select -r clanek ; currentTime 74 ; duplicate -rr; select -r clanek ; currentTime 76 ; duplicate -rr; select -r clanek ; currentTime 78 ; duplicate -rr; select -r clanek ; currentTime 80 ; duplicate -rr; select -r clanek ; currentTime 82 ; duplicate -rr; select -r clanek ; currentTime 84 ; duplicate -rr; select -r clanek ; currentTime 86 ; duplicate -rr; select -r clanek ; currentTime 88 ; duplicate -rr; select -r clanek ; currentTime 90 ; duplicate -rr; select -r clanek ; currentTime 92 ; duplicate -rr; select -r clanek ; currentTime 94 ; duplicate -rr; select -r clanek ; currentTime 96 ; duplicate -rr; select -r clanek ; currentTime 98 ; duplicate -rr;

vidite,, jak se to cele opakuje, a jen se meni cislo snimku .... prepisovat ta cisla ale vsechna rucne by byl nesmysl, obzvlaste kdyz chceme experimentovat, dale ..takhle by to fungovalo, jen pokud bychm nas objekt pojmenovali clanek ...takze jsem si zapnul excel a vytvoril v nem tabulku, kde staci zadat nazev objektu a excel ho automaticky prepise na vsech potrebnych mistech, a dale jsem vytvoril vzorce pro moznost , abychom mohli zadavat po kolika snimcich se nam vzdy objekt nakopiruje, a take abychom mohli zadat snimkovy posun ( ten posun vysvetlim... jelikoz ten clanek je slozen vlastne ze dvou casti, kdyby nebyl, nemohl by se v miste kde se ma ohnout ohybat a vysledek by byl silne nerealny ,,,tak jelikoz je z tech dvou casti , musime na tu krivku nakopirovat nejdrive jednu jeho cast, o kousek dale teprve tu druhou, tak aby na sebe obe casti navazovaly, ... to znamena ze na to pouzijjeme mel scripty 2 ,, jeden pro 1. cast a druhy pro 2.posunutou cast ) ...to je dalsi duvod proc jsem to udelal v excelu, protoze tato zmena hodnot je v nem otazkou vterin. ( casem se mi snad podari udelat navod jak to cele prepocitat v melu ..ale zatim nejsem v takovem stadiu a tak musim improvizovat ) ...

no dost jsem se zapovidal jdeme dal:,, zmenime delku animace (playback end) na 100 a vyberme 1. cast clanku viz obrazek 20:


a v hornim menu jde me do: modify / center pivot to nam ho pekne "vystredi" dale ten vybrany clanek prejmenujte na: clanek ...dale si vyberte tu druhou cast clanku, taktez mu vycentrujte pivot a prejmenujte ho na clanecek ..( tak jsem je totiz nazval v scriptu ) a pokud by jste jim dali jine jmeno, script by nefungoval .. nebo by jste museli vlezt do zdrojoveho exceloveho souboru a ten nazev prepsat podle toho jaky nyzev mu chcete dat ... mateli tedy prejmenovano a vystredeno ,, vyberte objekt clanek, vyberte k nemu i tu krivku kterou jsme kreslili po ktere poleti , stisknete F2 pro animacni mod a dale animate / motion paths / attach to motion path .... muzete si postit animaci ...clanek rychle proletne po krivce ,, ale jeste nedela duplikace... to napravime :-)..podle obrazku 21:


si klepnete na tu pravou sibecku zvolte new shelf..jmeno zvolte clan...pres tu cernou sipecku se muzete dostat i do shelf editoru./ ... otevrete si script editor a jak je rozdelenej na ty 2 casti vrchni a spodni, tak do te spodni nakopirojte ten sedivej text co jsem uvedl vyse v tomto tutoru ( nebo si muzete vytvorit svuj )..oznacte jej tak aby celej zmodral , kliknete na nej prevym tlac. mysi a preneste nahoru do prazdneho mista noveho shelu .. nekam kouda napravo od te cerne sipky.. a koukneme, vytvoril se nam tam mel :-) ..klepnete na nej a uvidite co se stane: projede animace jak clanek leti po krivce a cestou zanechava svoje kopie :-) .. .. tim uz mame napul vyhrano ..te uz jen staci udelat uplne to same s druhou casti clanku ( clanecek ) ..take jej animujte po te krivce ale potom pro nej budeme muset vytvorit novy shell .. ten druhy script vypada takto:

select -r clanecek ; currentTime 1 ; duplicate -rr; select -r clanecek ; currentTime 3 ; duplicate -rr; select -r clanecek ; currentTime 5 ; duplicate -rr; select -r clanecek ; currentTime 7 ; duplicate -rr; select -r clanecek ; currentTime 9 ; duplicate -rr; select -r clanecek ; currentTime 11 ; duplicate -rr; select -r clanecek ; currentTime 13 ; duplicate -rr; select -r clanecek ; currentTime 15 ; duplicate -rr; select -r clanecek ; currentTime 17 ; duplicate -rr; select -r clanecek ; currentTime 19 ; duplicate -rr; select -r clanecek ; currentTime 21 ; duplicate -rr; select -r clanecek ; currentTime 23 ; duplicate -rr; select -r clanecek ; currentTime 25 ; duplicate -rr; select -r clanecek ; currentTime 27 ; duplicate -rr; select -r clanecek ; currentTime 29 ; duplicate -rr; select -r clanecek ; currentTime 31 ; duplicate -rr; select -r clanecek ; currentTime 33 ; duplicate -rr; select -r clanecek ; currentTime 35 ; duplicate -rr; select -r clanecek ; currentTime 37 ; duplicate -rr; select -r clanecek ; currentTime 39 ; duplicate -rr; select -r clanecek ; currentTime 41 ; duplicate -rr; select -r clanecek ; currentTime 43 ; duplicate -rr; select -r clanecek ; currentTime 45 ; duplicate -rr; select -r clanecek ; currentTime 47 ; duplicate -rr; select -r clanecek ; currentTime 49 ; duplicate -rr; select -r clanecek ; currentTime 51 ; duplicate -rr; select -r clanecek ; currentTime 53 ; duplicate -rr; select -r clanecek ; currentTime 55 ; duplicate -rr; select -r clanecek ; currentTime 57 ; duplicate -rr; select -r clanecek ; currentTime 59 ; duplicate -rr; select -r clanecek ; currentTime 61 ; duplicate -rr; select -r clanecek ; currentTime 63 ; duplicate -rr; select -r clanecek ; currentTime 65 ; duplicate -rr; select -r clanecek ; currentTime 67 ; duplicate -rr; select -r clanecek ; currentTime 69 ; duplicate -rr; select -r clanecek ; currentTime 71 ; duplicate -rr; select -r clanecek ; currentTime 73 ; duplicate -rr; select -r clanecek ; currentTime 75 ; duplicate -rr; select -r clanecek ; currentTime 77 ; duplicate -rr; select -r clanecek ; currentTime 79 ; duplicate -rr; select -r clanecek ; currentTime 81 ; duplicate -rr; select -r clanecek ; currentTime 83 ; duplicate -rr; select -r clanecek ; currentTime 85 ; duplicate -rr; select -r clanecek ; currentTime 87 ; duplicate -rr; select -r clanecek ; currentTime 89 ; duplicate -rr; select -r clanecek ; currentTime 91 ; duplicate -rr; select -r clanecek ; currentTime 93 ; duplicate -rr; select -r clanecek ; currentTime 95 ; duplicate -rr; select -r clanecek ; currentTime 97 ; duplicate -rr; select -r clanecek ; currentTime 99 ; duplicate -rr;

.. nema smysl popisovat znovu cely postup kdyz uz jsem to udelal u toho predchoziho.. az to budete mit hotove proste klepnete na druhej shell a je to cele :-) jako na mem obrazku 1

tak to je pro dnesek vse .. doufam ze jsem to nepsal moc zmatene a ze vam to pomuze see ya in the next time ......
Roman Táborský
53% (640x)


Kdo jak hlasoval?

Komentáře

Text
Editor
Help
Musíte být zalogováni.
<< < 0/0 > >>
0 příspěvků