Tip:
Highlight text to annotate it
X
Salve a tutti, in questo videotutorial, quinta puntata sulla modellazione nella Playlist “Maya – Corso base”,
parleremo di Combine e Boolean Union per unire, appunto, mesh diverse in un unico oggetto.
I due metodi producono risultati che solo apparentemente sono simili, ossia – in entrambi i casi – un'unica mesh,
un unico oggetto realizzato a partire da più elementi distinti, tuttavia ci sono delle differenze molto importanti sotto vari aspetti.
A video potete vedere la sedia composta, in realtà, da tante mesh distinte: è stata realizzata, quindi,
partendo da Cube diversi, scalati, a volte duplicati partendo da un oggetto originale e, quindi, riposizionati.
Le singole mesh sono “pulite”, nel senso che ogni parallelepipedo è composto solo dagli 8 vertici e dalle 6 facce di partenza:
le modifiche sono state apportate con trasformazioni in modo oggetto, senza tagli o altre operazioni sulla struttura.
Passando in modalità di visualizzazione Wireframe, notiamo anche che certe mesh finiscono dentro le altre:
questo ora come ora non rappresenta un problema ma, come vedremo tra poco, in certi casi è meglio evitare situazioni del genere.
Guardando quindi l'oggetto vediamo che abbiamo la solita sedia e potremmo chiederci il perché
della necessità di unire le mesh in un unico oggetto.
I motivi in realtà sono parecchi, alcuni intuitivi (ad esempio, facilità nel selezionare e spostare o duplicare l'elemento...
ma per questo ci sono anche i Groups, che tratteremo in un'altra puntata, o anche le relazioni di parentela tra oggetti),
altri meno e riguardano utilizzi diversi dal rendering per una mesh, come le modifiche con armature (ad esempio per videogiochi),
le simulazioni fisiche e la stampa 3D.
Partiamo quindi dalla necessità di fondere in un unico oggetto queste mesh; in questo tutorial vedremo, come detto,
due metodi, con risultati solo apparentemente simili... anzi, per poterli confrontare poi, facciamo così: seleziono tutto e duplico,
spostando un po' le copie, in modo da applicare i due metodi su due copie da confrontare in diretta.
Il primo metodo, il più semplice, consiste nell'utilizzo dello strumento “Combine”, presente nel menù Mesh (con Menù Set Polygons).
In questo caso, selezioniamo un oggetto, quindi ne selezioniamo un secondo con una selezione multipla (SHIFT e click sinistro)
e scegliamo Mesh | Combine: fatto!
Abbiamo ottenuto una singola mesh dalle prime due, senza modificarne la struttura e senza creare suddivisioni
o elementi di collegamento tra vertici, spigoli e facce, ma semplicemente unendo le informazioni,
il “blocco dati” della prima mesh e della seconda.
Combine può essere usato al volo su più mesh, per cui ora per completare l'operazione facciamo così:
selezioniamo in un colpo solo tutte le mesh della prima sedia, quindi la mesh ottenuta mediante Combine e tutte le altre,
con click sinistro e trascinamento, quindi scegliamo Mesh | Combine, ottenendo un'unica mesh,
unione semplice di tutte queste mesh: fatto!
Passiamo alla seconda sedia, selezionando una mesh di questo insieme.
L'unione booleana viene applicata in maniera molto simile all'unione semplice, anche se in questo caso bisogna unire
due mesh per volta, non più di due in un colpo solo come è possibile fare con Combine; in particolare,
si seleziona la prima mesh, si seleziona anche la seconda (con una selezione multipla) e si sceglie Booleans Union dal menù Mesh,
con Menù Set Polygons.
Già si può notare una prima differenza, in realtà di tipo “tecnico”, tra Combine e un operatore booleano,
in quanto quest'ultimo può prendere solo due elementi per volta, ma le vere differenze (sia tecniche che pratiche)
sono evidenti a livello di struttura delle mesh, per cui passiamo in modalità di visualizzazione Wireframe.
Con questa visualizzazione, che ci consente di apprezzare in diretta gli effetti di Boolean Union,
selezioniamo due elementi distinti della seconda sedia e uniamoli con Boolean Union.
Le due mesh vengono unite in un unico oggetto e, nel mentre, modificate a livello strutturale, in modo da creare,
nelle parti di contatto, vertici, spigoli e facce di collegamento, per arrivare a costituire “davvero” un unico elemento “monoblocco”,
mentre con Combine riusciamo ancora a identificare gli elementi originali.
Questa differenza ha implicazioni notevoli.
La prima riguarda intuitivamente il numero di vertici, spigoli e facce complessive degli elementi.
La seconda, molto più interessante – e che ci porta a parlare di un nuovo operatore, ossia Separate – riguarda la possibilità
di scomporre una mesh in sue sottoparti identificando le mesh distinte.
Selezioniamo la prima sedia, ottenuta mediante Combine: qui riusciamo a individuare facilmente gli elementi originali...
e la cosa bella è che ci riesce anche Maya, che vede gli oggetti come “isole”,
elementi distinti che sono stati messi insieme in un unico blocco dati.
Scegliendo ora Separate dal menù Mesh, otteniamo le varie mesh distinte, separate, così come erano in origine;
ovviamente, Separate può essere usato con qualsiasi mesh composta da elementi fisicamente staccati,
non per forza con mesh generate mediante Combine: l'operatore “individua le isole” e le separa.
Nel caso dell'unione booleana, però, non ci sono “isole” di vertici, spigoli e facce, perché gli elementi a contatto vengono ridefiniti
e fusi in un unico blocco, per cui selezionando la seconda sedia, creata con unione booleana, e scegliendo Separate,
Maya restituirà un errore, dicendo che non riesce a individuare più di un elemento e che quindi non può effettuare l'operazione.
Queste sono differenze immediate, di carattere pratico, tra Combine e Boolean Union, ma come detto prima ce ne sono altre.
A livello di materiali e texture, se all'interno dello stesso oggetto devono esserci più materiali o più textures diverse,
può essere utile usare Combine piuttosto che Union, in quanto sarà più facile identificare e selezionare le varie parti,
applicando loro materiali differenti; di contro, in caso di oggetto con singolo materiale e texture
(ad esempio, una texture legno per questa sedia) può essere utile usare Union,
in quanto così la Texture ricoprirà con continuità le varie parti.
La seconda differenza riguarda la praticità nell'utilizzo delle armature: le Armatures sono oggetti, composti a loro volta da Bones (ossa),
che rappresentano, per le mesh, quello che per noi è lo scheletro... beh, in realtà, è come se rappresentassero tutto l'insieme scheletro,
tendini e muscoli, in quanto consentono di deformare un oggetto lavorando su pochi elementi (un osso di armatura
può controllare anche diverse migliaia di vertici di parte di una mesh).
In questo contesto, la definizione di mesh “monoblocco” create con Boolean Union potrebbe essere preferibile rispetto
a Combine per definire le Armatures, anche perché le Armatures, modificando la struttura, potrebbero far uscire
– nel caso di Combine – pezzi di mesh originali dall'oggetto.
Lo stesso problema (quello di deformazioni non corrette, pezzi di mesh che potrebbero uscire da altri o comunque volumi in eccesso,
dovuti alla presenza di parti di mesh che si sovrappongono, non rimosse) si può avere anche con le simulazioni fisiche,
ad esempio per distruggere un oggetto in seguito a una collisione.
Un'altra considerazione riguarda la stampa 3D: i programmi di stampa 3D spesso hanno specifiche molto restrittive sulla topologia delle mesh e,
in genere, gli oggetti devono essere costituiti da “monoblocchi” piuttosto che da elementi diversi che si intersecano,
visto che questi ultimi “confondono” il software di stampa 3D o possono portare alla creazione di parti inutili
(perché andrebbero tagliate, in caso di intersezioni con altre).
Tutte le considerazioni fatte hanno, comunque, carattere generale, quindi non è detto che si debba per forza procedere
con l'unione booleana se si ha intenzione di fare simulazioni fisiche o di definire un'armatura per una mesh, bisogna valutare caso per caso.
Rispetto a quanto visto con la modellazione della sedia mediante Extrude, l'estrusione, in una puntata precedente,
appare inoltre chiaro come la creazione e l'unione possa essere, in certi casi, un processo più semplice e veloce
della modellazione passo per passo modificando la struttura, mentre in altri casi probabilmente una semplice
suddivisione ed estrusione di facce può risultare più immediata: anche qui, bisogna valutare caso per caso;
l'importante, più che altro, è capire bene quali sono le differenze e le “conseguenze”, per così dire, sulla struttura della mesh,
utilizzando Estrusione, Combine o Unione Booleana per realizzare le varie parti.
Bene, per questa puntata è tutto; nella prossima, continueremo a parlare degli operatori booleani per la modellazione,
trattando esempi con Difference, Intersection e... la differenza tra Boolean Difference e il semplice Separate! A presto!