Modellazione e setup di ciglia umane (parte I)

In questo tutorial vedremo come creare delle ciglia umane sfruttando strumenti tradizionali di Maya per la modellazione e usando le caratteristiche del modulo Hair per il setup e l’animazione.

Uno dei metodi più utilizzati per creare ciglia di personaggi è quello che si basa sulla trasparenza di un immagine mappata su due superfici che circondano l’occhio sopra e sotto: sebbene sia abbastanza semplice ed efficace come tecnica, quando l’inquadratura è molto vicina al viso del personaggio, se la mappa non è ad una risoluzione sufficiente, il ‘trucco’ è facilmente riconoscibile! L’utilizzo del paint-effects può essere utile in questo caso, ma ne sono noti i limiti e controllare aspetto e distribuzione dei singoli peli può risultare difficile e molto laborioso.

Per questi motivi ci affideremo a strumenti tradizionali: io per il singolo ciglio ho utilizzato un cono nurbs (1)

image001 (1)

Ora creiamo una curva nurbs che utilizzeremo come percorso per distribuire le ciglia; possiamo disegnare la curva direttamente sulla palpebra utilizzando il ‘Make Live’ oppure possiamo disegnarla ad occhio e allineare i punti snappandoli ai vertici della superficie; per avere un risultato ancora più preciso io ho duplicato 7/8 facce della palpebra, le ho convertite prima in Subd poi in nurbs quindi ho ricavato la mia curva da una isoparm di questa superficie col comando

Edit Curves -> Duplicate Surface Curves. Con lo snap alla curva posizioniamo il ciglio ad un’estremità del nostro percorso (2)

image002 (2)

Ora dobbiamo duplicare il nostro ciglio lungo la curva: per fare questo selezioniamo prima il ciglio poi la curva e diamo il comando Animate -> Motion Paths -> Attach to Motion Path con un range di 120/150 frame, a seconda del numero di ciglia che volete fare. Se proviamo a mandare in play l’animazione dovremmo veder correre il ciglio lungo la curva. Per creare una serie di ciglia usiamo il comando Animate -> Create Animation Snapshot; il parametro ‘increment’ fa variare il numero di ciglia duplicate, una per ogni frame è sufficiente (3)

image003 (3)

La distribuzione e l’orientamento delle ciglia sembrano subito molto buoni, ci sono però un grosso problema: ogni ciglio è identico all’altro sia nella forma sia nell’inclinazione! Per correggere questo inconveniente possiamo assegnare delle espressioni che varino in maniera casuale questi due aspetti prima della creazione delle copie. Cancelliamo quindi dall’Outliner il nodo ‘snapshot1Group’ appena creato con tutti i duplicati e selezioniamo il ciglio di partenza. Con il tasto destro sul canale ‘scaleX’ nel channel Box apriamo l’Expression Editor e aggiungiamo queste semplici espressioni (4)

image004 (4)

Quello che vogliamo ottenere è una variazione della dimensione delle ciglia con il passare del tempo in modo che quando applichiamo lo Snapshot, le ciglia duplicate raggiungano la dimensione massima nella parte centrale e siano più corte agli estremi dell’occhio; per fare questo usiamo una funzione trigonometrica sin(time) (5); possiamo anche introdurre una componente casuale per variare la dimensione all’interno di un certo range attraverso la funzione rand(min, max). (5b) Per migliorare ancora di più il risultato finale possiamo aggiungere un’espressione nel canale ‘Front Twist’ del nodo ‘Motion Path’ sempre prima di dare lo Snapshot, in modo da ruotare in maniera casuale a destra e a sinistra le nostre ciglia singolarmente. L’espressione da usare è: motionPath1.frontTwist = rand(-30,30); (5c)

image005 (5)
image006 (5b)
image007 (5c)

Ora basta ripetere le operazioni per la palpebra superiore per ottenere delle ciglia degne del miglior rimmel sul mercato! ;)

Nella seconda parte del tutorial vedremo come attaccare le ciglia alle palpebre in modo che seguano precisamente tutti i movimenti dell’occhio, nell’attesa buona sperimentazione ;)

image008





Modellazione e setup di ciglia umane (parte II)


Una volta modellate le nostre ciglia superiori e inferiori, rimane il problema di  come attaccarle alle palpebre: il metodo che useremo si basa sull’utilizzo dei follicoli del modulo Hair che faranno da ‘collante’ con la nostra geometria!

Fino alla versione 6 di Maya non esisteva un ‘vertex/edge/face constraint’, un qualcosa cioè che permettesse legare direttamente un oggetto qualsiasi ad un vertice/edge/faccia di un altro oggetto; era necessario ricorrere a script in MEL esterni (come Rivet http://www.geocities...kin/rivet1.html che però non funziona bene su superfici deformate da skin o blendshapes), al Paint Script Tool con i limiti che conosciamo o a plugin specifiche (come vertexConstraint http://members.aol.c...gan/plugins.htm che mi pare non sia però interattiva, oppure l’ottima plugin di Alex di cui però non trovo il link…). Con l’introduzione del modulo Hair e in particolare dell’oggetto ‘follicolo’, ora siamo in grado bloccare qualsiasi geometria in un punto specifico di un'altra geometria basandoci sulle coordinate UV; la parte più rognosa del procedimento riguarda proprio il posizionamento del follicolo in maniera precisa sulla superficie...

Creiamo un piano poligonale e attiviamo il comando Hair -> Paint Hair Follicles, impostiamo i parametri come in figura (6) e ‘pennelliamo’ i nostri follicoli sulla superficie (6b).

image009 (6)
image010 (6b)

I parametri che definiscono il numero di follicoli sono il Follicle Density U e Follicle Density V e si basano sulle coordinate UV dell’oggetto; una volta disegnati i follicoli è possibile cambiare la loro disposizione andando a modificare le coordinate UV attraverso ad esempio l’UV Texture Editor (7, 7b, 7c)

image011 (7)
image012 (7b)
image013 (7c)
image014 (7d)

C’è da sottolineare che anche se noi aumentiamo molto Follicle Density U e V, Maya di default limita il numero dei follicoli a 100x100; questo valore è ritenuto un compromesso accettabile fra qualità della ‘ciocca’ di capelli e velocità nel disegno. Se abbiamo bisogno di variare questo limite dobbiamo scrivere nella Command Line la stringa: optionVar -intValue createHairMaxDensity 150

Un altro modo per posizionare i follicoli è quello di variare i valori Parameter U e Parameter V negli attributi del singolo follicolo.

Torniamo al nostro occhio: assicuriamoci di aver assegnato alle facce poligonali delle nostre palpebre delle coordinate UV adeguate (vi consiglio ‘allargare’ molto le coordinate nell’UV Texture Editor in modo da coprire bene lo spazio da 0 a 1 e di non sovrapporre le coordinate delle facce della palpebra superiore a quelle della palpebra inferiore sennò Maya mentre dipingete i follicoli non capisce se vanno sopra o sotto!) (7d)

Ora dall’Outliner possiamo cancellare sia il nodo hairSystem (che gestisce la simulazione dei capelli) sia il pfxHair (che gestisce l’aspetto dei capelli attraverso il paint effects), quello che a noi serve è solamente il follicolo attaccato alla palpebra (8), io ne ho fatti una ventina ma naturalmente è possibile farne più o meno a seconda delle esigenze…

image015 (8)

A questo punto il più è fatto, ora è sufficiente selezionare un gruppo di ciglia, creare un Cluster e imparentarlo o costringerlo al follicolo corrispondente, più follicoli abbiamo fatto e più preciso sarà il movimento delle ciglia legato a quello della superficie (9)

image016 (9)

Questo metodo è molto versatile e funziona molto bene sia che noi decidiamo di utilizzare il Blend Shape per sbattere le palpebre sia che noi usiamo joints e skin o altri metodi di deformazione della geometria poiché le ciglia rimangono saldamente attaccate al follicolo; bisogna dire che da qui in poi non dobbiamo più toccare le coordinate UV delle facce per non perdere la posizione delle nostre ciglia!

Test deformazione (divx)

Questo modo di utilizzare il modulo Hair apre molte possibilità nel campo del setup di personaggi, almeno a me le ha aperte… spero vi torni utile, buona sperimentazione, ciao ;)

---
Questo articolo è stato importato automaticamente dal forum il 31/lug/2014
Per vedere il post originale e/o i commenti sul forum prima di quella data clicca qui