a cura di Francesco Milanese

Boolean

 

COS'È, A COSA SERVE
Il modificatore Boolean consente di realizzare delle trasformazioni di unione, separazione o intersezione tra oggetti mesh. Il nome deriva dalle operazioni (booleane, appunto) tra insiemi numerici, in matematica; qui, gli insiemi di dati sono, in effetti, le geometrie dei due oggetti coinvolti, ma è importante notare che Boolean non si limita a “unire i dati”, come fa ad esempio l'operatore Join, ma trasforma le geometrie coinvolte, eventualmente creandone di nuove, eliminando o introducendo vertici, spigoli e facce.

 

COME SI USA; LA SCHEDA DEL MODIFICATORE
L'utilizzo del modificatore Boolean è semplicissimo: la scheda del modificatore – da aggiungere al primo “attore” dell'operazione – presenta infatti poche voci dal significato intuitivo.

 

Innanzitutto, bisogna specificare il tipo di operazione che si desidera effettuare; la scelta, da realizzare mediante il menù a tendina “Operation”, è tra:
Difference – la geometria risultante sarà data dalla sottrazione del volume specificato nel campo Object (vedi sotto) dal volume dell'oggetto che possiede il modificatore.
Union – la geometria risultante sarà data dal volume complessivo dei due oggetti coinvolti ma, a differenza di quanto avviene con Join (che lascia inalterate le due geometrie iniziali, in quella risultante, creando elementi che si compenetrano o duplicati), in caso di contatto o compenetrazione tra le mesh si avrà la creazione di nuove geometrie (vedere figure sotto);
Intersect – la geometria risultante ricoprirà la porzione di spazio condivisa da entrambi gli oggetti coinvolti nell'operazione (l'intersecazione tra i due, appunto).

 

Il campo Object, poi, serve per specificare il secondo attore dell'operazione Booleana, che viene quindi effettuata tra l'oggetto che possiede il modificatore e quello specificato in tale campo.

 

I risultati dell'operazione sono visibili in anteprima nella 3D View senza dover applicare il modificatore; per apprezzarli meglio, in alcuni casi, conviene passare alla modalità di visualizzazione Wireframe, tramite il selettore Viewport Shading nell'header di una 3D View.

 

Le modifiche diventano permanenti quando si clicca su Apply, come per qualsiasi altro modificatore; fino a quel momento, si possono spostare o trasformare i due elementi: Boolean ricalcolerà gli effetti in tempo reale.

 

PROBLEMI COMUNI
Il modificatore Boolean presente in Blender è tristemente noto per il fatto di generare delle geometrie “sporche”, che non presentano una buona topologia (portando alla creazione di molti Poles, facce triangolari, interruzione di anelli di facce, eccetera).

 

Boolean può essere quindi utile, in una prima fase del lavoro, per realizzare velocemente unioni, intersezioni o differenze, ma molto probabilmente si dovrà procedere poi ad un lavoro di Retopology (ovvero, di ridefinizione delle geometrie realizzate) con tecniche varie, in Edit Mode.

 

BOOLEAN UNION VS JOIN
L'operatore Join, discusso in un capitolo precedente di questa guida, consente di unire due o più oggetti mesh in un unico oggetto, senza modificare le geometrie coinvolte, differendo in questo (e nel fatto che si tratta di un operatore, ovviamente) dal modificatore Boolean. Questa differenza ha implicazioni notevoli in fase di modellazione, assegnazione dei materiali, animazione ed altro ancora.

 

L'oggetto risultante dall'unione mediante Join di due mesh presenterà tipicamente più elementi geometrici (vertici, spigoli e facce) di uno ottenuto mediante unione booleana, perché gli elementi di un oggetto che si trovano all'interno di un altro non verranno rimossi; d'altro canto, la creazione degli elementi di collegamento effettuata da Boolean può complicare inutilmente la topologia della mesh risultante.

 

Quando due oggetti vengono uniti in uno solo con Join, non vengono connessi fisicamente e sono facilmente selezionabili a parte se, in Edit Mode, si seleziona uno dei loro vertici e si preme L (shortcut per “Linked Selection”, ovvero “selezione degli elementi collegati”). Ciò può essere di grande aiuto per effettuare una selezione veloce di una sottoparte di un oggetto, ad esempio per modificarlo, scucirlo (UV-mapping), riggarlo (in vista di un'animazione), per assegnargli un sottomateriale, separarlo per crearne un oggetto distinto (con P - Separate) ed altro ancora.

 

Se si deve modellare un oggetto per la Stampa 3D, la scelta cade quasi esclusivamente su Boolean, per realizzare forme senza compenetrazioni e prive di elementi duplicati o sovrapposti, creando cioè forme il più possibile “water-tight” (lett.: “impermeabili”) e non-manifold (ovvero, dove sia facilmente individuabile il “dentro” e il “fuori”).

 

La scelta tra l'utilizzo di Boolean Union e dell'operatore Join ha implicazioni notevoli anche nella realizzazione delle animazioni, in particolare di quelle che prevedono la deformazione degli elementi tramite Armature e Ossa: in quei casi, infatti, la presenza di elementi fisicamente non connessi (realizzati tramite Join) potrebbe risultare evidente e costituire un problema, perché si avrebbero degli oggetti separati, senza una “giuntura” da deformare.

 

Di tutti questi aspetti (e non solo) va tenuto conto quando si deve scegliere se unire due geometrie con l'unione booleana o con l'operatore Join.