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.