A gentile richiesta da parte di diversi utenti  :wub: di vari forum  :wub: posto il mio tutorial su come modellare un occhio in Maya, e ringrazio calorosamente D@ve :D!

questo è il link per scaricarlo in formato PDF =

http://rapidshare.de...ITplus.rar.html

bene,iniziamo  :P :

TheEyeKitplus

Modellazione di un occhio

Premessa

La tecnica descritta in questo tutorial è valida con tutte le versioni di Maya, e può  essere  tranquillamente applicata in

tutti i programmi di grafica 3d. Il livello di difficoltà  è basso/medio, se si possiede la conoscenza base del programma.

In ordine saranno descritte le procedure di modellazione, texturing, animazione.

Modellazione

Per prima cosa nel menu set mettere Modeling o premere F3,  per creare una sfera andare in Create>NURBS Primitives>Sphere.

Ruotare la sfera di 90° in X

001

aggiungiamo 3 Isoparms dal comando EditNURBS>Insert Isoparms

002


Spostare i control vertex ( CV ) come da figura per abbozzare la forma della retina

003

selezionare l’isoparm che stà tra la cornea e il bulbo oculare
004

005

con l’isoparm selezionata andare in Edit Nurbs >Detach Surfaces, eseguire il comando. Rinominare le due superfici in CORNEA

e SCLERA.


Premere il tasto Ins da tastiera per attivare lo spostamento del pivot e snepparlo alla curva,tasto C da tastiera. E’ di

buona norma cancellare la storia (EDIT>Delete by Type>History) ed eseguire un Freeze Trasformations dal menu Modify per

avere nel  Channel Box tutti i valori di Translate  e Rotate a 0 , Scale a 1, e quindi verrà più comoda la duplicazione

della mesh.

006

Con la Cornea selezionata andiamo in Edit>Duplicate>□, nelle opzioni della duplicazione, mettere nel parametro scale in asse

Z  -1. Eseguire il comando.Rinominare la nuova superficie creata IRIDE.

007

Creare un cerchio Nurbs  Create>NURBS Primitives>Circle, ruotarlo in asse x di 90 e posizionarlo al centro fra Cornea e

Iride, scalarlo come in figura. Successivamente con il cerchio selezionato andare in Surfaces>Planar. RInominare la

superficie Pupilla, cancellategli la storia e cancellate la curva Nurbs.

008

Adesso abbiamo le 4 superfici : Cornea, Pupilla; Iride, Sclera

009


CREAZIONE DEI MATERIALI

Finita la modellazione si passa alla definizione dei materiali per le 4 superfici precedentemente create. Per avere una

chiara visione di tutto quello che è presente in scena e quindi anche per i materiali si usa aprire la finestra HyperShade

Window>Rendering Editors>Hypershade. Cliccare una volta su anisotropic, due per il lambert e una per un blinn material.

010

Assegnare l’anisotropic alla cornea, il lambert alla pupilla e all’iride, il blinn alla sclera.  E’ di buona norma

rinominare gli shader per facilitarne il riconoscimento,quindi rinominateli :-) !!
Per assegnare i materiali abbiamo diverse modalità:
- tramite trascinamento dall’hypershade:  shader selezionato, si tiene il tasto centrale del mouse  premuto,  e si forza il

trascinamento sopra una superficie interessata.Scomodissimo in presenza di tante superfici alle quali dobbiamo applicare lo

stesso shader.- tramite assegnamento da hypershade a tutti i materiali selezionati:  si selezionano tutte le superfici a

cui applicare lo stesso shader, successivamente andiamo in Hypershade ,selezioniamo lo shader, tasto destro di mouse sopra

di esso Assign Material To Selection.
- tramite assegnamento dalla stessa superficie: tasto destro sopra la superficie Materials>Assign New Material>......o

Assign Existing Material>.....

nell’Attribute Editor del materiale Cornea, settare i parametri come in figura,

011

Angle = 0
Spread X= 58.162
Spread Y = 59.016  
Roughness  = 1
Fresnel = 6

Reflectivity = 1
Anisotropic reflectivity = OFF

nell’Attribute Editor del materiale Sclera, settare i parametri come in figura,

012

Eccentricity = 0.043
Spec. Roll.= 1
Spread Y = 59.016
Reflectivity = 0.906

Per la pupilla e l’iride lasciare il lambert con le impostazioni di default, solo in color cambiare il colore per ciascuno

di loro.

013

Adesso convertiamo l’Iride e la Sclera da Nurbs in Poligoni, per usufruire in seguito della mappatura uv poligonale, che  a

parer mio assicura maggior controllo anche in fase di animazione.  Per eseguire la conversione, selezionare la superficie e

andare in Modify>Convert>Nurbs to Polygons>□

014


Per la pupilla e la cornea disattivare tutti gli elementi e lasciare solo i selezionati, come da figura nei Render Stats, in

modo che non proiettino ombre.

015

TEXTURE MAPPING

Dopo aver creato i materiali, passiamo al texturing, la fase più delicata, perchè da esso ne deriva veramente il grado di

realismo, maggiore saranno il dettaglio e l’accuratezza e maggiore sarà il realismo, ovviamente anche una dettagliatissima

texture, non colma le lacune di un modello fatto male.
Io distinguo 2 tipi di realismo: quello OTTICO e quello di MOVIMENTO.
In quello ottico rientrano il reparto:
modeling, texturing, shading, lighting, rendering,compositing;.....
In quello di movimento rientra tutto il reparto di animazione espresso in tutte le sue varianti, compito adibito agli

animatori ;-). Se al nostro occhio arriva una immagine che si avvicina il + possibile alla realtà e con un movimento +

fluido e lineare possibile, allora, si è fatto un buon lavoro se siamo orientati al realismo.
Ovviamente tutto deriva anche da una scelta stilistica, se  si opta per fare un cartoon 3D, si può sacrificare il realismo e

ci si concentra di più sull’animazione, se devo fare un effetto speciale per un film, allora devono esserci sia realismo

Ottico che di Movimento. Detto questo continuiamo il tutorial :-)
Selezionare  l’iride e andare in Edit polygon>Texture>Planar Mapping>□. nelle opzioni, in mapping direction scegliere l’asse

Z

016

Aprire la finestra UV Texture Editor dal menu Window, e nel channel box in projection Width e Height mettere 1.

Successivamente dal menu UV texture editor , selezionare UV Snapshot >□, dare un nome al file che sarà generato, mettere in

X
e Y una grandezza minima equivalente al formato 1K Square cioè di 1024x1024,il formato che uso per le mie textures è di 2K

cioè di 2048x2048. Ovviamente per chi si occupa della creazione di videogiochi usa il formato 512x512 o 256x256, il tutto

per ottimizzare la pesantezza del file generato e per essere meglio gestito dal motore di rendering del gioco che deve

calcolare tutto in tempo reale assieme a luci, dinamiche,riflessioni,ecc....
Abilitare il mantenimento dell’Aspect Ratio, e salvare in TGA o TIFF

018

Successivamente aprire la mappa precedentemente salvata in un programma di editing fotografico , nel nostro caso sarà

Photoshop.

019



invertire la mappa da nero/bianco in bianco/nero da Image>Adjustments>Invert o CTRL+I, trasformare il livello da

background/sfondo in livello e rinominarlo uvmapwire e mettere nella modalità di fusione del livello in multiply/moltiplica,

successivamente creare un nuovo livello, riempirlo di un colore base e piazzarlo sotto, come da figura,

020

Aggiugere del noise al nuovo livello dal menu Filter>Noise>Add Noise (Aggiungi disturbo) del 15%, uniforme, monocromatico.

Dopo applicare il Radial blur (sfocatura) da Filter>Blur>Radial Blur al 50%, Zoom, Good, come da figura

021

aumentare il contrasto, per rimarcare le striature, aumentando il contrasto aumenterà anche la saturazione e quindi

desaturiamo del -50% , come da figure.

022

023

Aggiugere del colore tramite dei pennelli in diverse modalità di sovrapposizione

024

Con un pò di pazienza e con i tools selezionati  in figura, arriviamo a questo  bel risultato :-), ovviamente se possedete,

anche una economica tavoletta grafica, che reagisce ai livelli di pressione che esercitiamo sulla penna ottica. La mia è una

WACOM , ottima per il texturing :-)

025

026

Torniamo in Maya,  assegnamo  per l’Iride, la mappa creata in Photoshop.
Caricare in color la texture con filter type a off. Osservare nella PERSPECTIVE,
( premendo il tasto numerico 6 da tastiera ,per la visualizzazione in OPENGL delle textures applicate al modello), se è

avvenuta la corretta mappatura.

027

028

Nel materiale della Sclera in Color assegnamo una Ramp procedurale come da figura, e nella seconda sfumatura, assegnare in

Selected Color una marble texture

033

034

Fare un rendering di prova.
035

Adesso convertiamo la mappatura da procedurale in Bitmap per avere più controllo.
Selezionare lo shader,shift premuto, selezionare la mesh, Convert to file Texture.

036

Dopo il Convert to File Texture, Maya crea un’altro shader con una sola mappa.Applicare il nuovo materiale e cancellare il

vecchio compreso del 3d Placement.

037


Eseguire un rendering per vedere se tutto procede bene

038

Per un environment sull’occhio, creiamo una sfera nurbs e scalarla in xyz a 62, abilitiamo nel renderglobals il Raytracing.

Assegnamo alla sfera un Surface Shader.

039

040

Al Surface shader, in out color assegnare una foto possibilmente a 360°. Io ho convertito una mappa Hdri in bmp a 24 bit.

041

042

Dopo ho aggiunto una ambient light e attivato il raytracing nel Renderglobal

043

044

Renderizzare nuovamente, ed ecco il risultato. Con le impostazioni di rendering a 640x480 il mio computer ha impiegato 10

sec. Tengo a precisare che questa immagine non è stata renderizzata in MR,ma bensi in maya software. L’immagine di intro è

stata renderizzata in MR ;-)

045

ANIMAZIONE

dopo la modellazione,lo shading e il texturing,passiamo all’ animazione. Maya mette a nostra disposizione un ricco comparto

dedicato alla animazione, difatti
è uno dei programmi più usato al mondo per i VFX .

Per prima cosa creiamo un Locator dal menù Create, raggruppiamo tutti i 4 componenti dell’occhio in un unico gruppo

(CTRL+G). Selezionare prima il Locator, poi l’intero gruppo dell’occhio e poi applicare un Aim Constraint, come da figure.
Adesso l’occhio seguirà il movimento del locator. Fare lo stesso per l’altro occhio.

046

047


Adesso raggruppiamo ( CTRL+G ) i due Locator e andare in:
Display>Component Display>Selection Handles, cosi facilitiamo la selezione del gruppo dei locator, se muoviamo il selection

handles ,gli occhi seguiranno la sua posizione.

048

Attaccare tutto il gruppo OCCHIOdx alle ossa è semplicissimo, seguire la figura sottostante, lo stesso vale per attaccare

l’altro OCCHIOsx allo stesso osso.

049

Imparentiamo anche i locator alle ossa, a una rotazione del Joint corrisponderà la conseguente rotazione del gruppo dei

locator

050

Io aggiungo sempre anche un controllo per la Pupilla. difatti nella realtà essa si allarga e si restringe in base a delle

condizioni luminose, se c’è buio è molto larga, al contrario se c’è molta luce si restringe, in modo da catturare sempre la

giusta informazione di luce, l’occhio  fà una specie di autobilanciamento automatico della luminosità, stabilizza le

predominanze di colore,ecc.. ( l’essere vivente è una macchina perfetta :-)

051


In nurbs ho disegnato il controllo, raggruppato e rinominato il gruppo in pupil_control. Per aggiungere un attributo di

controllo nel chennel box, andare in    
Modify>Add Atrribute, dare un nome OPEN_CLOSE, MIN 0 , MAX 5, DEFAULT 0

052

Ecco il controllo open_close che si è aggiunto nel channel box, andare in Window> General Editors> Channel Control,

selezionare tutti i parametri di translate,rotation,scale visibility, e lasciare solamente l’attributo open_close, premere

Move.

053

054

Adesso useremo I Set Driven Key. Nel driven key troviamo due elementi, il Driver  ( il guidatore) e il Driven (colui che

viene guidato dalle decisioni del Driver). Nel nostro caso il gruppo Pupil Control sarà il Driver, e le pupille di ciascuno

degli occhi saranno i Driven, cioè le pupille si ingrandirano in base al parametro dell’open_close che va da 0 a 5.

Richiamiamo il comando da:
Animate>Set Driven Key>Set>

055

In Driver selezionare open_close, e in Driven selezionare le pupilleSX e DX, e selezionare scale xyz, perchè essa si deve

scalare a seguito dei valori che metto in open_close.Premere  il bottone key.

056


Precedentemente avevamo registrato la grandezza della pupilla con scale pari a 1, e nel comando open_close a 0, adesso  

mettiamo a open-close = 5 e scalare le pupille in xyz  a 1.8., premere key, per registrare lo scale al valore open_close

messo a 5. Nel Channel box eseguite lo slide in open_close e vedete la pupilla aprire e chiudersi, potete animarla assieme

all’intensità della luce, :-)

057

058

Questo e' tutto! Spero che il mio tutorial vi sia piaciuto ;-) !

fine

GIUSEPPE PANZICA
panzica1@supereva.it

---
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