dimecres, 23 de desembre del 2015

Curmetratge d'animació: Envol d'un avió Douglas DC-3

En aquesta entrada faré un pas més endavant. Faré un petit curtmetratge d'animació.

Es tractarà d'animar l'envol d'un avió Douglas DC-3 des de l'Aeroport de Sabadell, modelant, aparellant i texturitzant l'avió de forma bàsica i l'entorn de forma elemental.

1- Generalitats

El Douglas DC3 és un avió de propulsió per hèlixs que es va fer servir a partir de 1936. També és força coneguda la seva versió militar anomenada C-47. En aquests enllaços es pot trobar molta informació sobre ell:

Pàgina de Wikipedia sobre el DC-3
www.douglasdc3.com1
www.sunshineskies.com
http://www.flagshipdetroit.org
http://www.taringa.net/posts/info/7529684/C-47-Skytrain-y-C-53-Skytrooper-Dakota.html


Aquest avió ha aparegut a força pel·lícules remarcables, (vegeu aquest enllaç), entre les quals Indiana Jones, El Salari de la por, Dragonfly, Un pont massa llunyà,...

El 2012 la Fundació Parc aeronàutic de Catalunya va portar un aparell a l'aeroport de Sabadell per a restaurar-lo. (Vegeu aquest enllaç)

L'he triat per que m'agrada i també perquè apareix al comic "L'home de les dues rodes" (Le Chinois à deux roues en versió original. Publicat en català, traduït per Albert Jané a la revista "Cavall Fort" núm 323 a 333 , febrer a juliol 1976) del dibuixant Tillieux, del qual ja havia modelat el Nissan Patrol 60 (vegeu aquesta altra entrada del blog)

2- Modelat

Per a modelar l'avió m'he basat en els plànols d'aquest enllaç.

Per començar he modelat el fuselatge a partir d'un cercle que he anat extrudint i deformant, fins a tenir una versió senzilla. Per a facilitar el treball he aplicat un modificador de simetria Mirror, per tal de poder treballar només amb la meitat de la malla.


A continuació he modelat les ales, tot extrudint lateralment algunes de les cares del fuselatge i he modelat les góndoles dels motors.

He creat un parell de materials senzills per tal de fer més fàcil el modelat, de manera que es puguin identificar parts diferents.



Tot seguit he modelat els estabilitzadors horitzontals i verticals, el timó de direcció i el timó de profunditat, els alerons i les hèlixs.

Per a les hèlix he modelat una sola aspa i he fet una matriu Array polar, amb un objecte buit Empty girat 120 graus.

I ja he fet el primer renderitzat amb Cycles





 I a continuació he modelat les portes i finestres (no totes estan als dos costats, quan apliqui el modificador de simetria caldrà tenir-ho en compte) i també el tren d'aterratge, format per tres rodes, dues grans sota els motors i una petita sota la cua.


3- Aparellatge Rigging

A continuació m'he dedicat a l'aparellatge Rigging de les parts mòbils principals. He creat un esquelet Armature amb una sèrie d'ossos Bones per a controlar els moviments dels elements. La part més complexa ha estat el tren d'aterratge davanter, en el qual he utilitzat la cinemàtica inversa Inverse Kinematix.


4- Skinning

Després he fet el  procés de Skinning, consistent en associar els vèrtex de la malla a un o diversos ossos.


5- Proves de moviment

Per a comprovar que les parts es moguin més o menys com cal, he fet una animació bàsica de cada moviment. L'animació està filmada des d'una càmera que té aplicat un modificador de seguiment Track to, per tal que apunti sempre al cos de l'avió.



6- Entorn: Cel i Aeroport de Sabadell

L'avió tindrà una textura molt reflexiva, per tant és important que hi hagi alguna cosa al voltant que es pugui reflectir a l'avió. Per això he creat un cel format per una mitja esfera al qual li he aplicat una textura de núvols que he descarregat d'aquest enllaç. El material que he fet servi és una combinació de node difús i  node emissiu.



 
 
I per a crear un entorn he modelat una aproximació matussera a l'aeroport de Sabadell, basant-me en la informació d'aquests enllaços:

 



Posteriorment li he afegit la textura a partir de Google Maps.

7- Texturitzat

Tot seguit m'he dedicat al texturitzat de l'avió. He fet servir els colors de l'avió d'aquest enllaç. Per començar he marcat les costures Seams a la malla, de manera que han quedat parts que es poden projectar fàcilment sobre un pla. Després he desplegat les cares Unwrap i les he repartit sobre un arxiu .jpg de 2048x2048 píxels, He creat també un arxiu de les mateixes mides per tal de definir quines parts seran més reflexives (colors clars) i quines no (colors foscos). I finalment un arxiu amb una imatge en escala de grisos per a simular el relleu dels reblons i les planxes amb un mapa re relleu Bumpmap, que he combinat amb un altre mapa de relleu per a simular les ondulacions irregulars de les planxes de la superfície.

mapa de textura, mapa de reflexions i mapa de relleu (feu clic a la imatge per ampliar-la)
I aquest és el material complexe de la superfície exterior de l'avió

(feu clic a la imatge per ampliar-la)
He millorat el modelat de les hèlixs, ja que la seva forma massa simple desmereixia el resultat dels reflexes.

8- Proves de renderitzat

Finalment he fet un renderitzat de l'avió dins el seu entorn, i aquest ha estat el resultat:



9- Animació

I he fet una animació més sofisticada... Això ha suposat haver de començar a utilitzar l'Editor No Lineal ( NLA editor ) de Blender.

L'Editor No Lineal NLA editor és una eina de Blender que permet combinar i modificar diferents fragments d'animacions per a formar animacions més complexes. Treballant conjuntament amb el Dope Sheet i la línia de temps Timeline permet elaborar pràcticament qualsevol animació que es pugui imaginar.

En un objecte podem crear fotogrames clau Keyframes amb el seu estat (posició, rotació, visibilitat, color, etc...) , per a un determinat fotograma. Blender interpola entre fotogrames clau per tal de crear l'animació entre ells de manera automatitzada.

Podem agrupar un conjunt de fotogrames clau en una Acció Action, i donar-li un nom. Les accions poden ser moviments elementals o seqüències molt sofisticades.

A l'hora de fer l'animació es fan servir Tires Strips que són fragments d'accions o bé accions completes i que es poden reproduir tantes vegades com faci falta, canviar-ne la velocitat respecte l'acció original, canviar-ne el sentit per tal que passin marxa enrere, etc...

Les Tires Strips es poden organitzar en Pistes Tracks, que funcionen com ara les capes del GIMP. Una pista que estigui situada en un nivell superior tindrà preferència respecte una pista situada en un nivell inferior, en cas d'interferència entre elles. Si no hi ha interferència, es visualitzaran simultàniament.

A la part inferior mostro un fragment del NLA editor on apareixen quatre pistes. La superior correspon al gir de les rodes de l'avió, la segona al gir de l'hèlix esquerra, la tercera al gir de l'hèlix dreta i la quarta al moviment de l'avió en conjunt.

Per a animar l'arrencada de l'hèlix dreta he fet servir el procediment següent: He creat una  acció Action de l'hèlix dreta  que consiteix exclusivament a fer-li fer una única volta.

Aquesta acció l'he utilitzat en tres tires Strip diferents, que he anomenat "Lent-D", "Mitjà-D" i "Ràpid-D", que repeteixen l'acció a diferents velocitats: lenta, mitjana i ràpida, de manera que veurem que la velocitat de gir augmentarà en tres etapes.

I finalment aquestes tres tires Stip estan col·locades seqüèncialment en una pista Track, que he anomenat "Hèlix dreta", que recollirà totes les tires Strip que afectin aquesta hèlix

Aquesta pista Track actua conjuntament amb altres pistes que recullen les tires Strip que afecten altres elements (l'hèlix esquerra, el gir de les rodes i el moviment de l'avió com a element complert)

Ho he concebut de manera que cada element només té informació en una de les pistes Tracks, de manera que no s'aplica cap preferència, però si en un determinat fotograma un determinat element tingués informació en diverses  pistes diferents, s'executaria només la informació de la pista més alta.



(feu clic a la imatge per ampliar-la)



Tot fent el muntatge, ha calgut modificar algunes accions Action creades anteriorment. Prement la tecla Tab es pot accedir al Dope Sheet d'aquella acció i modificar-ne els fotogrames clau.

A la part inferior es pot veure la pantalla organitzada amb la vista 3D a la part superior, just a sota l'editor no lineal NLA editor amb la tira strip que hem seleccionat de color verd (que indica que estem editant la seva acció), a sota el Dope Sheet amb els fotogrames clau de l'acció que estem editant i a sota de tot la línia del temps Timeline


(feu clic a la imatge per ampliar-la)

Un cop l'animació ha estat acabada, l'he renderitzat a 800x600 píxels. He repetit el procés per a totes les càmeres que hi ha a l'escena, cadascuna per al seu rang de fotogrames.


10-Audio

Amb l'Audacity he gravat la meva veu per a simular una conversa entre el pilot i la torre de control. Com que jo he fet els dos papers a la vegada, he distorsionat l'audio que correspon a la torre de control amb un efecte "Canvia el to" i també amb un efecte "Filtre passabaixos".  Després he tallat les frases en arxius individuals, per tal de poder-ne fer el muntatge.


11-Muntatge

En un arxiu de Blender a part he fet el muntatge final amb l'editor d'àudio-vídeo, combinant imatges fixes, seqüències d'imatges, les pistes d'àudio i les lletres sobreimpreses.

Fragment de l'editor d'audio-video

10- Resultat

I aquest ha estat el resultat:


11-Conclusions

Els temps de renderitzats han augmentat molt a partit del moment que he incorporat la cúpula del cel. Caldrà tenir-ho en compte per tal de pensar procediments que no allarguin tant el renderitzat.

La planificació ha estat quasi inexistent, això ha provocat que hagi hagut d'anar endavant i enrere en el procediment. Caldrà que pensi més les coses abans de fer-les, sobretot a mesura que va augmentant la complexitat de tot plegat.

La part positiva és que ara ja conec molt millor l'editor d'accions i el compositor d'àudio-vídeo de Blender. Per altra banda he après a distorsionar la veu amb l'Audacity, cosa que ho havia fet mai.