CREARE UN PESCE
Blub...blub....blub!!
Eccolo lì, il bel pesciolino che vogliamo creato: incastonato in una
fotografia.
Per
creare il pesce useremo
delle curve NURBS e poi le interpolerermo con una superficie. Partiamo con le
curve. Occorre creare la struttura del pesce, e per farlo prenderemo come riferimento
una foto.
Sfortunatamente
non avendo una foto frontale del pesce, dovremo "a occhio" definire
la larghezza del pesce.
Definite
le curve, interpoliamole con una superficie ULoft.
Come
puoi notare abbiamo per ora creato solo mezzo pesce. Lavoreremo solo su metà;
l'altra la creeremo simmetrica alla prima.
Le curve NURBS che abbiamo interpolato sono addensate in due zone particolari,
che grossomodo indicano in confini della zona in cui dovrà essere piazzato
l'occhio. Qui creeremo un affossamento sulla superficie, e le curve addensate
impediscono che le modifiche effettuate in questa zona vadano a influenzare
la superficie restante. Ricordati infatti che le curve NURBS quando sono interpolate
con una superficie si comportano, per analogia, come quando disegni una curva
Bèzier: spostando un vertice l'intera curva si modifica, ma l'influenza
dello spostamento è meno sentita nella zona di curva che si trova dopo
un gruppo di vertici addensati.
Eventualmente
le curve in eccesso potranno essere cancellate successivamente.
Orsù,
creiamo l'affossamento spostando qualche vertice delle curve.
Regoliamo
la forma sempre spostando i vertici. Ricordati di cambiare visuale ogni tanto:
quando sposti un vertice potresti ottenere delle modifiche sulla superficie
in zone nascoste.
Ok, creato l'affossamento passiamo alla zona della coda.
Creiamo
altre curve in modo da ottenere il profilo di una coda.
Attacca
la nuove curve all'oggetto NURBS che abbiamo creato fin'ora (cioè al
pesce senza coda) con il comando Attach nel pannello dei parametri dell'oggetto
NURBS.
A questo punto è conveniente cancellare la superficie precedentemente
creata e interpolare nuovamente tutte le curve; in questo modo si evita la formazione
della giunture fra le due superfici NURBS ottenute con l'interpolazione di 2
insiemi differenti di curve.
Spostiamoci
nella zona bocca. Trasliamo qualche vertice in modo da aggiustare la sua forma.
E'
ora il momento di creare l'altra metà del pesce. Segui questi passi:
- Cancella la superficie.
- Crea una copia simetrica delle curve.
- Con il comando Joint unisci le coppie di curve corrispondenti.
- Seleziona tutte le curve e chiudile con il comando Close.
- Crea una superficie ULoft interpolando le varie curve chiuse, partendo dalla
curva più piccola della coda oppure da quella più piccola della
bocca.
A questo
punto sarà necessario regolare ancora qualche curva, in particolare quelle
in corrispondenza dell'interno della bocca e della fine della coda.
Per
la bocca (ma anche per la coda) è necessario creare altre curve più
piccole, in modo da chiudere il "buco".
Ricordati
che per chiudere una superficie NURBS devi usare il comando Create Cap Surface:
Ora
creiamo la pinna dorsale sempre utilizzando delle curve NURBS:
Tuttavia
creare questa pinna è da precisini, Se ci vigliamo sbrigare creiamo il
profilo con una spline chiusa e poi convertiamola in una mesh. Clonandola e
scalandola otterremo anche la pinna anale.
Le
pinne natatorie le possiamo ottenere con lo stesso metodo, ovviamento usando
spline con una forma diversa.
Alla
fine trasforma tutto in una unica mesh. fatto? Bene. A questo punto puoi aggiugere
gli occhi: una sfera e 2 mezze sfere saranno sufficienti.
Ok,
il modello è pronto. Costruiamo su di esso lo scheletro. Per animare
il pesce utilizzeremo una cinematica diretta (cinematica FK)
Costruiamo la spina dorsale con delle scatole (rosa).
Le
scatole verdi sono dei Dummy Objects. Il più grosso regola la rotazione
della spina dorsale. Le scatole rosa (vertebre) sono linkate fra loro a formare
un acatena, che parte da quella vicino alla testa e termina in quella sulla
coda. La rotazione è regolata da quella del Dummy grosso.
Per
ottenere questo fai così:
1) Lika le scatole fra loro, im modo da formare una catena FK.
2) A ogni scatola assegna un controller di rotazione Euler XYZ.
3) Ai canali di rotazione attorno agli assi assegna un controller Float Expression.
4)
V vincola la rotazione delle scatole a quella del dummy Object grosso.
Prendiamo ad esempio l'asse Z (analogamente si procede per gli altri). Iparametri
del controller Float Expression sono questi:
Al valore
scalare Zr è assegnato come valore da seguire la rotazione attorno all'asse
Z del Dummy Object grosso.
Il
Dummy Object accanto a quello grosso è quello "chiave". Ad
esso è linkata la scatola rosa di testa della catena FK, gli altri Dummy
e le ossa della testa. Spostandolo l'intera ossatura lo segue.
Il
Dummy Object più a sinistra regola la rotazione delle ossa della testa.
Il
Dummy Object più a sinistra regola la rotazione dell'osso mascellare.
Per
lo scheletro delle pinne natatorie usiamo per ognuna una scatola e un oggetto
dummy.
L'oggetto dummy è linkato alla scatola-pinna, e questa alla scatola rosa
in testa alla catena della spina dorsale.
L'oggetto
dummy alla fine della scatola-pinna serve a "chiudere" la catena dell'ossatura,
in modo tale che quando applicheremo il modificatore Physique al pesce verà
definito un giunto che attraversa l'intera pinna (senza oggetto dumy di "chiusura"
il giunto non si forma).
Per finire, linkimao i bulbi oculari e le palpebre al dummy in corrispondenza della testa, in modo che non restino indietro quando il pesce si sposta.
Avevamo
parlato prima di Physique? Applichiamolo.
Clicca
sul pulsante Attach to node e seleziona come nodo chiave dello scheletro l'oggetto
dummy in corrispondenza della testa. si formeranno i giunti lungo lo scheletro.
Regola
gli involucri relativi alle varie ossa in modo da creare una zona rigida attorno
alla parte superiore della testa, e una mobile di esclusiva pertinenza dell'osso
mascellare.
A
questo punto il pesce può anche prendere vita.
Infine
aggiungiamo un oggetto dummy che regola la rotazione delle pinne.
Per
ottenere questo risultato si è impostato per le scatole-pinna un controller
Euler XYZ sulla traccia di rotazione, e per la rotazione attorno all'asse Z
si è impostato un controller Float Expression che fa riferimento alla
rotazione delll'oggetto Dummy.
Ecco i parametri per la scatola della pinna destra....
...e
sinistra.
In questo modo rutoatndo l'oggetto dummy le due pinne ruotano simultaneamente.
Osserviamo
più da vicino il pesce.
Prima
di tuffarci nel magico mondo dell'applicazione dei materiali, lavoriamo un po'
sui poligoni del pesce. Occorre assegnare a zone diverse il relativo valore
Material ID.
Nel pesce sono state individuate 3 zone: il corpo, l'insieme pinne+coda e la
zona bocca
A
questo punto applichiamo un materiale di tipo Multi/Sub-Object al pesce.
Per
i 2 sub-materiali sono è stata usata sempre la stessa mappa. Le differenze
sono queste:
Per la zona della bocca la mappa è stata un po' scurita e rimpicciolita.
Per la zona dellepinne e della coda alla mappa è stato imostato un livello
Opacity inferiore a 100, in modo da rendere queste zone semitrasparenti.
Per
l'occhio è stata applicata una mappa "occhio appunto" dopo
aver incrementato il suo valore Output Level in modo da far risaltare maggiormente
i colori che la compongono.
Per le palpebre è stata usata una mappa uniforme celestina.