L'esercitazione parte con l'intento di esplorare le potenzialità "generative" di tecniche complesse come quella dei Blob o Metaball, strumento nato per la generazione di forme di natura organica, la cui caratteristica fondamentale è quella di modificare la propria forma in funzione delle caratteristiche intrinseche degli elementi costituenti (primitive) e dei mutevoli rapporti fra gli stessi. Gli elementi sono dotati di un dimensione e di un campo di forza, oltre ad altre caratteristiche secondarie, variabili con i quali possono interagire fra di loro per generare lo stadio finale della forma dotata di una elevata complessità. Oltre a ciò le primitive possono essere anche messe in relazione con gerarchie e raggruppamenti diversi, il che amplifica la possibilità di ottenere una serie illimitata di configurazioni.
Type : definisce la forma base, cioè può essere di tipo Sphere (sferica) o Ellipsoid ("a saponetta" quest'ultimo è quello da noi usato in questo lavoro) dove la rotondità dell'angolo è definita dal valore di Cube Edge. Surface Activation attiva o disattiva la capacità di interagire.
Parameters : definisce i parametri dell'oggetto e le modalità di visualizzazione (Display). Una volta stabilita la segmentazione (Segments), cioè l'approssimazione di una forma curva tramite facce piane contigue, dove quindi a valori maggiori corrispondono forme più arrotondate (ma anche maggiori tempi di calcolo della macchina sia in fase di modellazione che di visualizzazione !), i due valori più importanti sono la sua dimensione, cioè la porzione di spazio occuperà in relazione alle altre primitive che formeranno lo stesso blob ed indicata dai tre valori X-axis Y-axis e Z-axis, ma soprattutto il suo campo d'azione (influnce field), e cioè la forza con cui interagisce che può essere sia di tipo aggiuntivo che di tipo sottrattivo. Quest'ultimo rappresenta più di ogni altro il valore con cui la forma finale cambia in rapporto al modificarsi delle condizioni interne, cioè al cambiare delle relazioni interne ai diversi componenti della forma finale.
A questo punto possiamo creare il primo elemento in maniera interattiva trascinando il cursore sullo schermo come per qualsiasi altro oggetto parametrico (consigliato!) oppure impostando i valori nella sezione Keybord Entry (che possono anche essere scelti in un secondo momento modificando la primitiva stessa). Una volta creata la prima forma costituente, che chiamiamo P01 essa sarà caratterizzata, oltre che da una forma sferica o schiacciata ("a saponetta") con determinate dimensioni e smussatura degli spigoli, da tre "orbite" che ne descrivono, con le loro dimensioni e proporzioni, il campo d'azione.
La seconda primitiva P02 è caratterizzata a sua volta da una serie di parametri che ne definiscono l'entità e l'interattività.
Anch'essa è di tipo Ellipsoid, è attiva, ha una Segmentazione 40, ha dimensioni sugli assi X-Y-Z di 60-46-28, ha un valore di Cube Edge 2 e ha un Influence Field Absolute pari ad 120. E' di color viola per distinguerla dalla prima di color arancione.
Adesso entrambi gli elementi sono pronti per poter essere messi in relazione all'interno di una unica superficie.
In alcuni casi, con l'utilizzazione di altri software avanzati di modellazione 3D ed animazione o tramite l'impiego sempre all'interno di 3DStudio MAX di differenti plug-ins per la generazione di Blob, l'operazione di fusione dei singoli elementi avviene in modo diretto, cioè una volta creata la primitiva è sufficiente accostarla ad una altra per avere istantaneamente la forma risultante.
Nel caso dello strumento da noi utilizzato in questa esercitazione, la già citata plug-in Clay Studio Pro di Digimation per 3DStudioMAX, a causa della sua elevata potenzialità dovuta ad un set di valori e di relazioni modificabili (anche nel tempo!), occorre creare l'elemento Clay Surface per poi inglobare al suo interno gli elementi costituenti.
Per attivarla dobbiamo entrare nella sezione Modifica di 3DStudio MAX dove verrà aperto il pannello Clay Surface.
Rappresentato qui a fianco il pannello ci permette di stabilire una serie di dati riguardanti la conformazione, il tipo di struttura e di visibilità della superficie generata.
Viewport: questa sezione riguarda cosa sarà visualizzato e con quale definizione nelle finestre di lavoro del programma. Ci sono le opzioni per stabilire se la Superficie, le Primitive e i Campi di Influenza saranno visualizzati nelle modalità Wireframe e Shaded e con quale Dettaglio di Superficie. Il Surface Detail, che di default è impostato a 10, stabilisce la Tassellazione della superficie per cui maggiore è il valore maggiore sarà il numero di facce che interpolano la forma finale.
Render: qui si può decidere, in maniera simile alla finestra superiore, cosa sarà visibile nei rendering e con che dettaglio. Potranno essere visibili sia le primitive che la superficie risultante con un valore Surface Detail variabile. Maggiore è il dettaglio più accurata sarà la smussatura della superficie (a scapito, come già detto, dei tempi di renderizzazione). Il valore di default è 50 mentre lo stesso valore nella finestra Viewport è 10 perchè conviene lavorare e visualizzare nelle finestre del programma su un modello con minor dettaglio per non appesantire il workflow e poi renderizzare un oggetto con maggior dettaglio per la qualità dell'immagine finale.
Mapping:in quest'altra sezione è possibile stabilire se nelle Viewport o nel Render le coordinate di mappatura saranno relazionate all'oggetto complessivo (From Clay Surface Icon) o alle singole primitive (From Clay Primitives).
Surface Algorithm: queste opzioni riguardano sempre il calcolo della superficie del Blob e cioè la sua accuratezza tramite i valori di Slow, Medium e Fast e il tipo di struttura della gabbia reticolare che forma la superficie.
Absorb Free Primitives: posizionato all'inizio del pannello è il comando principale che ci permette di mettere in relazione le Primitive libere presenti nella scena.
Attivato il comando tutte le Primitive si fondono in un unica struttura con delle relazioni stabilite dalle caratteristiche intrinseche degli elementi stessi che possono essere modificate all'interno dei singoli pannelli di modifica valori delle singole Primitive, mentre nel pannello di modifica della Superficie generale (riprodotto qui a fianco) è possibile modificare solo i valori e le caratteristiche di rappresentazione della forma finale ma non la forma stessa.
Una volta selezionato il comando Clay Surface trascinando il cursore nella finestra attiva otteniamo una icona con l'indicazione CS, il che significa che l'entità superficie è stata creata ma non è ancora visibile in quanto non è ancora attiva perchè non contiene ancora elementi costituenti.
Una volta creato il Blob possiamo sperimentare come una superficie del genere si possa interattivamente modificare in base ai dati riguardanti la dimensione delle Primitive, la forza del loro Campo di Influenza ed ovviamente la loro posizione reciproca.
Qui di seguito sono riportati tre primi esempi o configurazioni di questa modificabilità. Le configurazioni differiscono per alcuni valori di dimensioni e di Influence Field. Nella seconda configurazione sono stati modificati la X da + 60 a + 90 e Influence Field da + 120 a + 150 in P02, mentre nella terza configurazione la X da + 52 a + 90 e Influence Field da + 80 a + 120 in P01 e Influence Field da + 150 a + 120 in P02.
P01
X-Y-Z = 52-68-24
Influence Field = + 80
P02
X-Y-Z = 60-46-28
Influence Field = + 120
P01
X-Y-Z = 52-68-24
Influence Field = + 80
P02
X-Y-Z = 90-46-28
Influence Field = + 150
P01
X-Y-Z = 90-68-24
Influence Field = + 120
P02
X-Y-Z = 90-46-28
Influence Field = + 120
Proseguendo con la generazione della forma possono essere introdotte altre Primitive per studiare oggetti più complessi o per simulare relazioni più articolate fra i vari elementi costituenti la forma finale.
Con il metodo già visto creiamo le Primitive P03 di colore blu e P04 di colore verde.
La Primitiva P03 è di tipo Ellipsoid, ha il Surface Activation attivo, ha una Segmentazione 40, ha dimensioni sugli assi X-Y-Z di 60-45-25, ha un valore di Cube Edge 2 e ha un Influence Field Absolute pari a 90.
La Primitiva P04 è di tipo Ellipsoid, ha il Surface Activation non attivo, ha una Segmentazione 40, ha dimensioni sugli assi X-Y-Z di 35-32-22, ha un valore di Cube Edge 2 e ha un Influence Field Absolute pari a 80.
Entrambe in un primo momento non vengono assorbite subito dalla Clay Surface esistente perchè pur attive non vengono riconosciute da questa. Il motivo di questo modo di operare è che potrebbero esserci diverse Superfici Blob nella scena per cui va individuata quella alla quale le Primitive ora create si devono associare.
Il comando per poter assorbire le nuove Primitive è, come già visto per la generazione del primo stadio della Superficie, Absorb Free Primitives nel pannello di gestione e modifica valori Clay Surface. In questo modo vengono inglobate tutte le Primitive libere indistintamente, cioè non associate ad altre superfici.
La configurazione che ci viene a formare, che vede la Primitiva P03 inserita nella forma ma la P04 no, è dovuta al fatto che la primitiva P04 al momento della sua creazione aveva il Surface Activation non attivo, quindi non è stata considerata nel momento in cui la macchina ha ricalcolato la nuova superficie generale.
Con l'aggiunta della nuova Primitiva P03 il Blob acquista una nuova fisionomia con un nuova e maggiore complessità.
La forma risultante quindi è descritta dallo stato delle Primitive che la compongono e quindi può variare in relazione al modificarsi delle condizioni interne delle singole Primitive.
Le condizioni interne sono l'insieme di dati che caratterizzano gli elementi costituenti e che li mettono in relazione per poter generare la forma risultante ottenendo in questo modo delle configurazioni via via mutevoli della stessa ma sempre strettamente dipendenti dalla somma delle informazioni derivanti dalla base dello schema e cioè le condizioni iniziali.
La finestra del Group Workshop (immagine superiore) indica nelle sue diverse aree quali Primitive sono ancora libere (Free) e da quali Primitive attive i gruppi sono formati, dando la possibilità di modificare i gruppi stessi e quindi la forma risultante. In questa configurazione le quattro Primitive appartengono al Gruppo #1.
Operando con le Primitive all'interno di queste aree si possono ottenere una innumerevole quantità di aggregazioni ( qui di fianco è rappresentata la configurazione con P03 e P01 in Group #02).
Queste unite alle possibilità di modifica dei valori costituenti le Primitive base e alle potenzialità generative stesse dello strumento di modellazione che stiamo adoperando ci permettono una elevata sperimentazione morfologica.
Un'ultima caratteristica interessante è quella di poter fare interagire una primitiva anche con una forza sottrattiva cioè con valori di Influence Field negativi.
Qui di seguito sono riportate due configurazioni del Blob con tutte le quattro Primitive attive ma con la differenza che la P04 nel secondo caso ha un valore di Influence Field di uguale intensità ma di segno opposto, cioè di -80 anzichè +80, il che è evidenziato graficamente dalle orbite di colore verde invece di gialle.
P01
X-Y-Z = 52-68-24 I. F. = + 80
P02
X-Y-Z = 60-46-28 I. F. = + 120
P03
X-Y-Z = 60-45-25 I. F. = + 90
P04
X-Y-Z = 35-32-22 I. F. = + 80
P01
X-Y-Z = 52-68-24 I. F. = + 80
P02
X-Y-Z = 60-46-28 I. F. = + 120
P03
X-Y-Z = 60-45-25 I. F. = + 90
P04
X-Y-Z = 35-32-22 I. F. = - 80
Questi erano nel dettaglio i passaggi fondamentali per la generazione di forme complesse tramite la tecnica dei Blob o Metaball.
Si vuole specificare che il pacchetto software illustrato non è che uno dei tanti oggi in commercio per la generazione complessa di superfici. Sicuramente non è uno dei più semplici ma, come già sottolineato, uno dei più completi e potenti ed è stato scelto proprio in base a questa sua potenzialità.
Nel momento in cui si sono fatte interagire le quattro Primitive, si è creato un Gruppo di Primitive che danno forma alla configurazione del Blob rappresentato dalla schermata totale superiore.
Una implementazione interessante di cui dispone il programma è lo strumento Group Workshop che permette di raggruppare in svariati modi le Primitive attraverso lo spostamento o il duplicamento delle stesse da un gruppo all'altro all'interno della stessa Superficie, che in questo modo acquista ulteriori e interessanti livelli di complessità.
Per vedere il Blob
Tasto sx mouse = ruota
Tasto dx mouse = zoom
Tasti sx+dx mouse = sposta
Per scaricare la plug in per Nescape 4+ o per Explorer 4+ direttamente dal sito Cult 3D clicca qui