Animazione auto...

Forum per: Modellazione, Texturing, Animazione, Composting e tutto quello che riguarda il normale utilizzo di Cinema4D.

Moderatori: Arkimed, natas, visualtricks, cappellaiomatto

  • Advertising
filippo200
Messaggi: 21
Iscritto il: sab mag 17, 2008 2:13 pm

Animazione auto...

Messaggio da filippo200 »

Buongiorno geni :)

Vi scrivo perchè vorrei iniziare a studiare i fondamentali dell'animazione, e avrei deciso di partire da un'auto, visto che a prima vista potrebbe sembrare più semplice, e cmq mi affascina... ho visto l'audi nella sezione download, ma sinceramente non ho capito un granchè, non è che conoscete qualche tutorial dedicato all'argomento "rigging auto"? io ho trovato solo materiale per 3dstudio max e maya...

Grazie mille per l'aiuto :D
Avatar utente
tommix
Messaggi: 345
Iscritto il: gio gen 13, 2005 8:17 pm
Località: Fondi (LT)

Re: Animazione auto...

Messaggio da tommix »

Per 'animazione' intendi simulazione? nel senso che animi l'auto lungo una spline e l'auto reagisce in maniera automatica. Tempo fa ho fatto un test a scopo didattico
http://www.youtube.com/watch?v=kEkXTcHMe3s

se può essere utile vi descrivo il funzionamento
filippo200
Messaggi: 21
Iscritto il: sab mag 17, 2008 2:13 pm

Re: Animazione auto...

Messaggio da filippo200 »

tommix ha scritto:Per 'animazione' intendi simulazione? nel senso che animi l'auto lungo una spline e l'auto reagisce in maniera automatica. Tempo fa ho fatto un test a scopo didattico
http://www.youtube.com/watch?v=kEkXTcHMe3s

se può essere utile vi descrivo il funzionamento
E' proprio da quel filmato che mi è venuta voglia di animare un'auto (l'ho visto qualche giorno fà), è esattamente quello che cerco ti ringrazio per l'aiuto....

:D
Avatar utente
masterzone
Site Admin
Messaggi: 10542
Iscritto il: ven set 17, 2004 5:34 pm
Località: Verona

Re: Animazione auto...

Messaggio da masterzone »

allucinante....non ho parole.....quando l'hai appoggiata spostando la base dei controller sotto la landa mi sono eccitato...fantastico.

mz :shock:
Polimar
Messaggi: 169
Iscritto il: sab apr 11, 2009 6:00 pm

Re: Animazione auto...

Messaggio da Polimar »

tommix ha scritto:Per 'animazione' intendi simulazione? nel senso che animi l'auto lungo una spline e l'auto reagisce in maniera automatica. Tempo fa ho fatto un test a scopo didattico
http://www.youtube.com/watch?v=kEkXTcHMe3s

se può essere utile vi descrivo il funzionamento
Si Si dai... :)
Avatar utente
happyman
Messaggi: 162
Iscritto il: dom mag 18, 2008 12:23 am
Località: Genova

Re: Animazione auto...

Messaggio da happyman »

tommix ha scritto: se può essere utile vi descrivo il funzionamento
Sei veramente un Grande.. e spettacolare... pendiamo dalle tue labbra....illuminaci.

Ciao
Happyman
Avatar utente
ste090
Messaggi: 1013
Iscritto il: mar lug 04, 2006 1:00 pm
Località: Torino

Re: Animazione auto...

Messaggio da ste090 »

mi aggiungo alla lista... spettacolare davvero!!
Avatar utente
tommix
Messaggi: 345
Iscritto il: gio gen 13, 2005 8:17 pm
Località: Fondi (LT)

Re: Animazione auto...

Messaggio da tommix »

Scusate la latitanza, ma sono stato molto impegnato in questi giorni..
Vi dico la soluzione in linea di massima.. ho in preventivo di farci una guida prima o poi, visto l'interesse al riguardo..

Una piccola premessa: il principio generale vincente per fare rig complessi è quello del divide-et-impera, cioè si risolvono i sottoproblemi separatamente e poi si assemblano le varie soluzioni. E' la filosofia che ho seguito anche qui.

Tralasciando le soluzioni banali per comandare l'apertura degli sportelli, i vari sottoproblemi sono:

1) Rotazione della ruota in base allo spostamento;

2) Rotazione delle ruote anteriori in base al cambio di direzione;

3) Calcolo della collisione con il terreno su ogni ruota;

4) Ammortizzazione delle ruote;

5) Angolazione ed ammortizzazione della carrozzeria.

Vi dò una descrizione di massima di come ho affrontato i sottoproblemi. Ovviamente si tratta di sviluppare tutto in Xpresso.
Gran parte delle funzoni sfruttano come input la differenza fra la posizione attuale e quella precedente:

DeltaP = Obj.GlobalPos - Obj.PreviousPos

1) Rotazione della ruota in base allo spostamento;

Se immaginiamo di muoverci lungo la direzione di rotazione di una ruota, l'angolo di rotazione della ruota in ogni momento segue questa legge: La distanza percorsa (DeltaP.Z) deve corrispondere all'arco di curva sulla circonferenza della ruota (di raggio 2*PI*raggioRuota). Quindi la ruota deve essere ruotata per un istante di tempo di un angolo pari a deltaAngolo. Sussiste questa proporzione:

deltaAngolo : 2*PI = DeltaP.Z : 2*PI*raggioRuota

da cui:

deltaAngolo = (2*PI * DeltaP.Z) /2*PI*raggioRuota => DEltaP.Z / raggioRuota

Non finisce qui. Questa formula funziona se ci muoviamo in maniera concorde con la rotazione della ruota, ma ovviamente possiamo spostarci anche in altre direzioni. Quindi il movimento DeltaP deve corrispondere alla proiezione dello stesso sul versore dell'asse di rotazione della ruota. Si calcola con |DeltaP| * cos(alfa). Alfa corrisponde all'angolo fra il versore ed il vettore spostamento DeltaP.
Quindi se ci muoviamo in direzione concorde con l'asse di rotazione della ruota, cos(alfa) = 1, quindi deltaAngolo = |DeltaP| / raggioRuota. Se ci muoviamo in direzione perpendicolare, ovvero lateralmente, cos(alfa) = cos(90°) = 0. deltaAngolo = 0, quindi la ruota non gira.
Cosa ancora più interessante, se ci muoviamo all'indietro, cos(180°) = -1, quindi deltaAngolo = -|DeltaP| / raggioRuota, quindi la ruota gira in senso inverso.
La formula finale quindi è:

deltaAngolo = |DeltaP|/raggioRuota * cos(alfa)

Più tardi vi posto le soluzioni agli altri problemi..
Polimar
Messaggi: 169
Iscritto il: sab apr 11, 2009 6:00 pm

Re: Animazione auto...

Messaggio da Polimar »

tommix ha scritto:Scusate la latitanza, ma sono stato molto impegnato in questi giorni..
Vi dico la soluzione in linea di massima.. ho in preventivo di farci una guida prima o poi, visto l'interesse al riguardo..

Una piccola premessa: il principio generale vincente per fare rig complessi è quello del divide-et-impera, cioè si risolvono i sottoproblemi separatamente e poi si assemblano le varie soluzioni. E' la filosofia che ho seguito anche qui.

Tralasciando le soluzioni banali per comandare l'apertura degli sportelli, i vari sottoproblemi sono:

1) Rotazione della ruota in base allo spostamento;

2) Rotazione delle ruote anteriori in base al cambio di direzione;

3) Calcolo della collisione con il terreno su ogni ruota;

4) Ammortizzazione delle ruote;

5) Angolazione ed ammortizzazione della carrozzeria.

Vi dò una descrizione di massima di come ho affrontato i sottoproblemi. Ovviamente si tratta di sviluppare tutto in Xpresso.
Gran parte delle funzoni sfruttano come input la differenza fra la posizione attuale e quella precedente:

DeltaP = Obj.GlobalPos - Obj.PreviousPos

1) Rotazione della ruota in base allo spostamento;

Se immaginiamo di muoverci lungo la direzione di rotazione di una ruota, l'angolo di rotazione della ruota in ogni momento segue questa legge: La distanza percorsa (DeltaP.Z) deve corrispondere all'arco di curva sulla circonferenza della ruota (di raggio 2*PI*raggioRuota). Quindi la ruota deve essere ruotata per un istante di tempo di un angolo pari a deltaAngolo. Sussiste questa proporzione:

deltaAngolo : 2*PI = DeltaP.Z : 2*PI*raggioRuota

da cui:

deltaAngolo = (2*PI * DeltaP.Z) /2*PI*raggioRuota => DEltaP.Z / raggioRuota

Non finisce qui. Questa formula funziona se ci muoviamo in maniera concorde con la rotazione della ruota, ma ovviamente possiamo spostarci anche in altre direzioni. Quindi il movimento DeltaP deve corrispondere alla proiezione dello stesso sul versore dell'asse di rotazione della ruota. Si calcola con |DeltaP| * cos(alfa). Alfa corrisponde all'angolo fra il versore ed il vettore spostamento DeltaP.
Quindi se ci muoviamo in direzione concorde con l'asse di rotazione della ruota, cos(alfa) = 1, quindi deltaAngolo = |DeltaP| / raggioRuota. Se ci muoviamo in direzione perpendicolare, ovvero lateralmente, cos(alfa) = cos(90°) = 0. deltaAngolo = 0, quindi la ruota non gira.
Cosa ancora più interessante, se ci muoviamo all'indietro, cos(180°) = -1, quindi deltaAngolo = -|DeltaP| / raggioRuota, quindi la ruota gira in senso inverso.
La formula finale quindi è:

deltaAngolo = |DeltaP|/raggioRuota * cos(alfa)

Più tardi vi posto le soluzioni agli altri problemi..
Purtroppo io questa teoria non sono ancora in grado di metterla in pratica.. :(
Avatar utente
flowbox
Messaggi: 2545
Iscritto il: mar mag 20, 2008 8:29 pm
Località: Repubblica Dominicana

Re: Animazione auto...

Messaggio da flowbox »

certo che io sono proprio ignorante !!!! :( :( :(
Non ho piu freddo e NON PAGO PIU LE TASSE.... vivo qui:

http://www.infolasgaleras.com
________

http://www.websolutionsdf.com
______________________________
  • Advertising
Rispondi