Mi occupo di modellatori 3D da moltissimo tempo. Nei primi periodi nei quali questi strumenti si sono diffusi (alla fine degli anni 80″), gli utenti erano quasi sempre professionali, e disposti ad investire grandi cifre per acquistare i prodotti più sofisticati.
Nel tempo, questa tendenza si è ridotta, sia perché il mercato professionale si è man mano saturato, sia perché sono apparse altre categorie di utilizzatori, inclusa quella dei semplici appassionati, non troppo disposti a sacrificare i guadagni di un anno per un programma. Oggi, con la diffusione sempre più dilagante di stampanti 3D anche per uso amatoriale, il mercato dei “mini modellatori” è ancora ulteriormente cresciuto. Chiunque acquisti una stampante 3D, anche se all’inizio può accontentarsi di scaricare modelli da internet (è vero, ce ne sono a milioni…) prima o poi dovrà attrezzarsi per realizzare i suoi modelli. Con cosa?
La complessità d’uso, i limiti (i bugs?) dei modellatori gratuiti sono spesso disarmanti. Ma è comprensibile non voler spendere cifre astronomiche per un programma professionale, se lo scopo è quello di progettare modelli per uso personale.
Una soluzione c’è. Moment of Inspiration, un geniale modellatore NURBS scritto e commercializzato dall’originale autore di Rhinoceros. Economico, divertente, potente a sufficienza per modellare praticamente qualsiasi cosa. Sembra impossibile?
Ripubblico con grande piacere un articolo scritto molti anni fa, in occasione del rilascio della prima versione di MoI. Mi ero divertito a scriverlo, e mi diverte ancora rileggerlo. Da un’idea delle potenzialità di questa piccola perla.
Ho sempre pensato che la peggiore insidia per un buon programma siano le nuove versioni. L’esigenza di introdurre necessariamente qualcosa di nuovo, di soddisfare le richieste degli utenti, che spesso non tengono conto della natura del software, e di cosa sia realmente fattibile o meno, portano gli sviluppatori ad aggiungere forzatamente nuove funzionalità e comandi, a “rinnovare” l’interfaccia, e in definitiva a snaturare l’originale filosofia del programma. Il sistema si appesantisce, e come un’automobile troppe volte stuccata e piena di inutili accessori ed orpelli, finisce per perdere la sua funzionalità principale. Quello che una volta era un brillante e originale design, diviene kitch, di cattivo gusto. Tra mille pulsanti e finestre, che hanno la pretesa di affrontare qualsiasi problematica, persino le cose semplici diventano difficili. Chi troppo vuole, nulla stringe, si potrebbe dire. Sarà per questo che i professionisti rimangono spesso legati a programmi essenziali, fedeli a se stessi, che fanno poche cose ma le fanno bene.
E’ per questo motivo che guardo sempre con attenzione i nuovi prodotti. Alla ricerca di approcci originali, non corrotti dall’angoscia delle revisioni, e dai tentativi di introdurre funzioni già viste, per tenere il passo della concorrenza. E’ così che mi imbatto in MoI, la “Cenerentola” dei modellatori di superfici sviluppata da Michael Gibson. Il nome e l’autore sono tutto un programma. Si, è proprio lui che, all’inizio degli anni 90, durante un college estivo, ha dato inizio alla grande avventura di Rhinoceros. E sempre lui che, dopo un lungo periodo in Microsoft, lontano dalla kermesse del CAD, ha ritirato fuori la sua matita da programmatore e ha deciso che era giunta l’ora di “scrivere il suo modellatore di terza generazione”.
MoI – Moment of Inspiration.
Il file di installazione è sorprendentemente compatto, 6,4 Mb per la versione trial, una dimensione da programma MsDos anni 80. Ho il dubbio che il download non abbia funzionato. Ma l’installazione si avvia correttamente, addirittura multilingue. Mi chiedo: cosa mi piacerebbe trovare, in un programma così piccolo? Delle belle curve. Delle buone superfici. Un flusso di lavoro piacevole. Pochi comandi, ma buoni. Niente altro.
L’installazione procede velocemente, ho giusto il tempo di pensare a cosa modellare. Debbo realizzare un modello di una chitarra elettrica, per un rendering. Niente di accurato, ho bisogno solo di ricavare delle immagini. Potrebbe essere un buon test. Ecco, il software è pronto. Mi procuro alcune foto di una bella e classica Fender Stratocaster, per fortuna e riesco anche a reperire un disegno tecnico quotato del manico, via internet. E finalmente, clic sulla lampadina dell’icona di MoI.
Al primo sguardo all’interfaccia, il dubbio che il download non abbia funzionato a dovere riappare. Sembra che manchino dei pezzi. Non c’è la barra del titolo, e nemmeno i menu. Wow. L’area grafica è disposta su quattro viste, tre ortogonali ed una tridimensionale. I colori e la griglia sono più che familiari. Le icone e i pulsanti sono molto semplici, delle pure immagini 2D, senza “effetti speciali”. Bene. In tempi in cui alcuni sistemi operativi consumano tre quarti delle risorse per visualizzare pulsanti semitrasparenti che finiscono per rendere persino difficoltosa la lettura, è un bell’inizio.
Un’occhiata con Visual Studio, e si scopre che la grafica è supportata tramite DirectX. Segno che Michael ha fatto in modo che il programma possa funzionare anche con hardware di prestazioni modeste: le schede grafiche per videogiochi faranno un eccellente lavoro. Faccio qualche clic nella parte destra dell’interfaccia, che sembra contenere gli unici comandi disponibili, e scopro, nel gruppo Visualizza, un’icona Immagine. Colloco le immagini nella vista superiore e sinistra. I controlli sono validi, permettono di stabilire su che livello (Sfondo, sotto gli oggetti, sopra gli oggetti) collocare l’immagine. Permettono di regolare la trasparenza e di ruotarla e scalarla, sulle varie viste. Lavorando, comincio a realizzare il perché non ci sono menu. In effetti, in quasi tutti i programmi, i menu rappresentano la versione testuale degli stessi comandi e controlli disponibili in forma grafica come icone. Come dire, chi non riesce ad interpretare i simboli delle icone, può sempre consultare il testo dei menu, e viceversa. Ma i percorsi che il mouse compie si complicano. I menu sono in un posto (di solito, in alto), e le icone sono in un altro (in genere, ai lati). Chi usa talvolta i menu, talvolta le icone, fa compiere chilometri al proprio mouse (e al proprio polso). In MoI, la questione è risolta in modo magistrale. Le icone hanno una descrizione di testo, subito sotto. Sia che si preferisca leggere, sia che si preferisca intuire il significato di un simbolo, il comando è sempre li. Questo crea abitudine, e nel tempo un flusso di lavoro più veloce. Chissà perché nessuno ci ha mai pensato prima. Bene, pronti, via, vediamo come si comportano le curve. Seleziono una curva per punti di controllo dal gruppo Curve, e inizio a ricalcare la sagoma del corpo, nella vista superiore.
La prima, piacevole impressione è che lo strumento risponda in maniera ottima. La curva è plastica, e appare straordinariamente nitida sullo schermo. Guardando meglio, si vede bene che viene usato un antialiasing in tempo reale. La grafica che evidenzia la preselezione è molto efficace. L’oggetto sul quale passa il cursore viene evidenziato con bordi gialli, mentre l’interno rimane del suo colore naturale. Molto gradevole e funzionale. La seconda, altrettanto piacevole sorpresa, è che facendo un clic sulla curva anziché su un punto di controllo, è possibile modificarla dinamicamente.
La modifica interviene sui punti di controllo che interessano quel segmento di curva, in modo estremamente efficace. Comincio ad avere la sensazione che incontrerò parecchie di queste piccole perle, durante la prova. Durante il tracciamento della curva, è possibile creare uno spigolo vivo, ed è proprio quello che mi occorre per la zona sotto al manico. Più avanti, scoprirò con piacere che è sufficiente premere il tasto CTRL per creare una discontinuità nella curva. Pochi clic, e il profilo del corpo della chitarra nella vista superiore è completo.
La curva è molto, molto bella. L’estrusione del corpo è interattiva, e la creazione del solido molto semplice.
Decido di sperimentare le funzioni Booleane per realizzare la curvatura laterale. Ho letto che MoI è in grado di supportare Booleane tra entità diverse (solidi, superfici, curve), e decido di provarle in pratica. Nel disegnare la curva sul fianco, faccio un’altra eccitante scoperta.
Oltre ad un efficiente sistema di snap e ausili alla modellazione, è disponibile un sussidio dinamico per la creazione di linee di costruzione (si, proprio quelle della cui importanza cercava di convincermi il professore di Disegno dell’Istituto Tecnico, molti anni fa). questo sistema permette di creare indispensabili riferimenti temporanei in un batter d’occhio. Il professore aveva ragione.
Nell’immagine, durante la creazione della curva Nurbs superiore, è sufficiente trascinare il punto 1 verso sinistra, lungo la perpendicolare alla linea, e il punto 2 verso il basso, lungo la parallela all’asse Z, per ottenere tramite le linee di costruzione il punto 3, determinante per fissare l’estremità della curva. Ho appena evitato la noiosa incombenza di dover creare uno specifico piano di costruzione semplicemente per disegnare la curva.
Costruisco una superficie con il comando Sweep, per tagliare una parte del corpo della chitarra. Al primo tentativo, la superficie interseca il corpo troppo in basso, rispetto al punto desiderato. Non potevo immaginarlo prima di creare la superficie. Nessun problema: spostando il punto di controllo terminale della curva laterale con la quale è stata generata la superficie, quest’ultima viene dinamicamente ricostruita. Evidentemente, viene attivato automaticamente uno “storico”, che mantiene la superficie generata in collegamento con le curve generatrici.
Queste prime scoperte mi galvanizzano. Ci devono essere tanti altri spunti validi, nel programma, e decido di scoprirli, anche se questo allungherà i tempi necessari alla modellazione. Troppe volte ho rimproverato i miei allievi per essersi accontentati della prima soluzione che un programma CAD offriva per risolvere un problema, per farlo io lo stesso. In particolare per i modellatori di superfici, ci sono in genere tante strade per arrivare allo stesso risultato. E’ meglio sperimentarle e conoscerle tutte. Prima o poi, torneranno utili.
Provo una sottrazione Booleana tra il corpo e la superficie. Il risultato è perfetto. Proprio quello che volevo.
In pochi passaggi, eseguo una seconda sottrazione della svasatura centrale, e i raccordi sui bordi. Il corpo della Fender è praticamente finito.
Le superfici appaiono molto morbide, e con una topologia essenziale.
Passo ad attaccare la costruzione del manico, che presenta maggiori problemi di modellazione. Per disegnare le curve in modo accurato, sfrutto il disegno tecnico.
Nell’utilizzare il comando Sweep, mi accorgo il comando consente di eseguire Sweep lungo un percorso, lungo due percorsi e persino l’utilizzo di un terzo percorso di scala (una possibilità che non ho trovato in altri programmi). La capacità di racchiudere più funzioni in un solo comando, spesso in grado di operare su più tipi diversi di entità (es. curve, superfici, solidi) è una prerogativa essenziale di MoI. Per questo l’interfaccia appare estremamente semplificata. Ad esempio, il comando Raccordo – in grado di raccordare curve, superfici e solidi sia in modalità G1 (raccordo circolare), sia in modalità G2 e G3 (tangenza e curvatura), corrisponde a ben 4 diversi comandi di un altro diffuso modellatore di superfici. Questa “rarefazione” delle icone contribuisce a rendere l’interfaccia molto pulita e intuitiva, e da la piacevole sensazione di riuscire a trovare immediatamente il comando necessario, evitando la frustrazione di dover scorrere decine di menu. Credo che con l’abitudine, questo permetta di raggiungere una notevole efficienza, a tutto vantaggio della produttività.
Con alcune ulteriori operazioni Booleane e sfruttando proprio il comando Raccordo per congiungere le superfici, in breve tempo il manico viene completato:
Provo ancora alcune particolarità delle operazioni Booleane per creare la meccanica dei registri di accordatura. L’intersezione tra due curve produce direttamente il modello solido desiderato:
In pochi passaggi, anche sfruttando nuovamente le comodissime linee di costruzione, che mi permettono con facilità di ruotare le chiavi per un risultato più realistico, riesco a completare la meccanica della paletta. Il lavoro procede spedito. E’ un vero divertimento creare le corde, sfruttando le spirali coniche.
Ormai, con poche ultriori operazioni, viene creato il resto del modello. Alla ricerca dei limiti del programma, ho realizzato molti dettagli, inserendo minimi raccordi ovunque. Il modello conta di diverse centinaia di migliaia di superfici. Ma si muove ancora molto bene.
Temo per il mio rendering tempi biblici. Il modello è veramente complesso. Per fortuna, una delle funzioni più esclusive di MoI è la capacità di ricavare una mesh N-Gons estremamente pulita, con una densità ideale, da trasferire al programma di rendering.
La differenza è evidente, se comparata al modello mesh con poligoni triangolari prodotto da un altro software:
La singolare capacità di produrre mesh particolarmente strutturate, la precisione intrinseca delle Nurbs e la estrema facilità d’uso lo rendono un companion ideale di programmi di modellazione e scuplting basati su tecnologia SDS (Modo, ZBrush, Silo, etc.). La sfida più difficile per questi programmi è la realizzazione di modelli meccanici e “hard surface”. Un campo d’impiego per il quale MoI risulta eccellente.
Sfrutto con piacere gli ottimi strumenti per il disegno 2D anche per realizzare gli elementi necessari per la realizzazione dei materiali (texture, logo, displacement map).
E finalmente, è ora di dare tutto in pasto a Maxwell render. Il risultato è spettacolare:
Nella leva, c’è una piccola riflessione dell’immagine di Jimi Hendrix. Sembra guardare la sua chitarra preferita con approvazione…
Conclusioni:
MoI è un programma giovane. Mancano alcuni strumenti molto utili: la possibilità di ricostruire le curve e le superfici con un diverso numero di punti di controllo, strumenti di deformazione delle polisuperfici, funzioni di utilità di comune uso (quotatura, rendering). E persino una gestione dei layer. Insomma, non si propone (per ora…) di competere con altri modellatori di superfici, presenti da tempo sul mercato. Ma nell’insieme, le premesse – quelle di rendere disponibile un programma di utilizzo molto semplice e veloce, che permetta di esprimere concetti e idee in 3D, mi sembrano più che pienamente raggiunte. MoI è facile, divertente ed efficace. Abbordabile, con un costo irrisorio. Spero mantenga la sua gradevole e preziosa essenzialità nel tempo. Credo che diventerà in breve uno dei miei strumenti preferiti per la realizzazione di sketch 3D e modelli di Industrial Design.
NOTA: naturalmente, nella versione attuale (3.0) sono state apportate molte migliorie, e sono stati aggiunte molte delle funzionalità delle quali la prima versione era priva.