ESPLORANDO LIGHTWAVE 5.0
Confronto diretto con Real3D


1. INTRODUZIONE

Torna all'indice delle recensioni LightWave il prodotto di punta dell'americana NewTek, è ormai considerato uno standard nella grafica tridimensionale. Fino alla versione 3.0 disponibile solo per piattaforma Amiga munita della scheda per effetti televisivi VideoToaster, e successivamente con la versione 3.5, ha invaso anche il mercato europeo, che non poteva trarre beneficio dal VideoToaster esclusivamente in versione NTSC. Con la versione 4 e successive (ora siamo alla 5.6) è approdato anche su PC IBM compatibili (Windows 95/98 e Windows NT), DEC Alpha (Windows NT), Power Macintosh, Silicon Graphics e SUN.
Attualmente lo sviluppo su Amiga si è arrestato alla 5.0, in attesa che sia disponibile nuovo hardware in grado di sfruttare le aggiunte dell'ultima versione, che in molti casi richiedono risorse macchina di non poco spessore.
Questa recensione non ha l'intento di fornire una lista delle caratteristiche del programma, molte delle quali presenti su prodotti concorrenti, ma piuttosto illustrarne i pregi, i difetti, e le principali caratteristiche strutturali e operative.
A più riprese saranno posti paragoni con un altro pacchetto della stessa fascia di prezzo, anche questo presente su più piattaforme: Real3D. Questo programma la cui filosofia operativa e interfaccia utente si differenziano in maniera netta rispetto al prodotto della NewTek, in molti casi offre strumenti molto più avanzati e precisi per l'editing tridimensionale.



2. ALCUNE CONSIDERAZIONI SULLE INTERFACCE GRAFICHE

Una delle caratteristiche più vistose di LightWave è l'interfaccia grafica proprietaria, che non si appoggia in nessun modo alla GUI di Amiga né a quelle degli altri sistemi operativi su cui è sviluppato restando in tutti i casi identica. Ciò all'inizio potrebbe spaventare l'utente alle prime armi costretto ad assimilare la filosofia del programma, ma se non altro è un grosso vantaggio per tutti coloro che hanno necessità di utilizzare o di passare ad un sistema operativo diverso da quello abituale, potendo immediatamente essere produttivi al 100%.
Real3D invece si appoggia alle GUI dei vari sistemi operativi assimilandone i pregi e i difetti: se da un lato si può affermare che le interfacce grafiche non abbiano enormi differenze sostanziali, bisogna in ogni caso avere un minimo di dimestichezza ed esperienza nel loro utilizzo.
Rea3D è disponibile per Windows 95/98, Windows NT (Intel e Alpha) e AmigaOS su cui è nato.
Bisogna in ogni modo fare una riflessione d'ordine pratico, su Amiga attualmente per disporre di un ambiente di lavoro confortevole è necessario disporre di programmi e patch varie come complemento dell'ormai superato Workbench. LightWave non può ovviamente trarre vantaggio da eventuali migliorie apportate da questi aggiornamenti, avendo un'interfaccia proprietaria, ma per tale motivo si rivela molto più stabile rispetto ai programmi concorrenti. Personalmente pur disponendo di una miriade di task che svolgono funzioni le più disparate, (MCP, MagicMenu, ToolManager, ecc.) è difficile incorrere in blocchi della macchina o del programma anche dopo diversi giorni di lavoro intensivo.
Real3D essendo stato programmato conformemente alla GUI è molto più sensibile ad eventuali "malumori software".



3. GLI AMBIENTI DI LAVORO

LIGHTWAVE

Precedentemente si era accennato che i due programmi hanno caratteristiche che li contraddistinguono uno rispetto all'altro in maniera evidente. LightWave è diviso in due ambienti: il Modeler e il Layout. Il primo è preposto all'editing della geometria degli oggetti tridimensionali, il secondo al loro posizionamento nello spazio virtuale assieme alle luci e alla telecamera, e i loro movimenti se si richiede un'animazione, nonché alla definizione dei materiali assegnati ai poligoni.
Da ciò è evidente che il flusso operativo per la creazione di una scena in 3D, resta sempre lo stesso indipendentemente dal risultato richiesto e dall'utente impegnato.
Inoltre l'interfaccia grafica molto rigida, impedisce all'utente di personalizzare l'ambiente di lavoro in base alle proprie esigenze.

IL MODELER

Il Modeler dispone di quattro viste di cui una prospettica, ridimensionabili nell'insieme trascinando le linee che le dividono; oppure una sola vista a scelta. L'ordine e i punti di vista (in pianta, in facciata, di lato) possono essere scelti secondo alcune impostazioni predefinite. Solo la vista prospettica consente oltre alla visualizzazione in fil di ferro l'eliminazione delle facce nascoste.
Una serie di tasti posti sulla parte superiore dello schermo dividono differenti tipologie di funzioni per la modellazione, la loro pressione provoca l'apparizione di menù differenti sulla sinistra, anche questi composti da tasti, con i quali si accede ai vari strumenti.
Venti piccoli pulsanti posti in alto a destra sullo schermo, permettono di definire quali e quanti dei dieci layers devono essere attivati e posti in primo o secondo piano. Questo è utile per una buon'organizzazione del lavoro, ed è necessario per indicare al programma come devono essere svolte le operazioni booleane, e le moltiplicazioni di poligoni lungo percorsi.
Cinque tasti in basso a destra servono alle classiche operazioni di copia, incolla, taglia, undo e redo; inoltre è possibile tramite altri tre pulsanti definire se le operazioni d'editing devono avvenire per selezione volumetrica, di punti, o di poligoni.
Tramite un pannello per le preferenze è possibile decidere se visualizzare selettivamente punti, poligoni e normali ai poligoni, il tipo di griglia, le impostazioni delle viste e le unità di misura.
Tre display numerici indicano rispettivamente le coordinate del cursore o l'entità delle trasformazioni in atto, la dimensione della griglia e il numero d'elementi selezionati.
Ogni operazione d'editing può essere svolta interattivamente con il mouse oppure tramite l'inserzione di valori numerici all'interno dell'apposito requester, che prevede anche l'inserzione d'espressioni numeriche.

IL LAYOUT

Molto simile al Modeler a prima vista, in realtà i tasti presenti in alto danno accesso a differenti pannelli relativi ognuno ad aspetti diversi della scena: gli oggetti, i materiali, le immagini, la camera, gli effetti, le opzioni, e il rendering in rete. I pulsanti presenti sulla sinistra definiscono quali entità saranno soggette all'editing e i tipi d'azioni da svolgere, oltre alla possibilità di modifiche sia interattive, sia numeriche. La parte in basso dello schermo reca i controlli per le animazioni, come l'avanzamento dei fotogrammi, e il play dell'anteprima in fil di ferro. Qui troviamo anche alcuni display che indicano le coordinate del cursore o l'entità delle trasformazioni in atto, la dimensione della griglia, il numero di fotogrammi dell'animazione e il frame attuale.
In quest'ambiente possiamo disporre di un'inquadratura alla volta, tra cui le abituali viste ortogonali, quella prospettica, quella della camera, oppure dalle varie fonti di luce.

REAL3D

Real3D possiede un unico ambiente operativo personalizzabile senza limiti di sorta, dove la pianificazione di un progetto può influire in maniera incisiva sulla capacità produttiva dell'utente. LightWave possiede in linea di massima una filosofia operativa molto simile a programmi più classici, come Imagine per esempio, invece Real3D richiede una curva d'apprendimento molto più ripida, ma di cui una volta assimilata la filosofia, diventa difficile fare a meno.
I classici menù a tendina prerogativa degli ormai standard ambienti di lavoro danno accesso a tutte le funzioni disponibili nel programma, in alternativa ad una barra d'icone profondamente personalizzabile: dal salvataggio all'editing dell'entità che compongono la scena, come le luci, gli oggetti, le telecamere, e i materiali, fino alla possibilità di definire le caratteristiche fisiche degli oggetti per consentire la realizzazione d'animazioni comportamentali, tenendo conto d'elementi come la forza di gravità, l'elasticità e l'attrito. Si ha anche accesso alle varie finestre per l'editing dei materiali e delle mappature, le impostazzioni per la resa finale, oltre ad un numero impressionante di parametri per personalizzare l'interfaccia grafica.
E infatti possibile aprire un numero illimitato di viste ognuna con un tipo di visualizzazione diversa e in tempo reale (fermo restando le capacità della macchina in uso), dal fil di ferro fino al raytracing completo. Possono essere create più telecamere da assegnare a viste diverse, finestre contenenti la lista degli attori virtuali permettono l'organizzazione della scena ad albero in modo concettualmente identico alla struttura per directory di un file-system, dove i materiali, le leggi fisiche e gli operatori booleani agiscono sugli oggetti conformemente alla gerarchia. Tutte le operazioni come la creazione d'entità geometriche, la loro modifica, la realizzazione dei materiali, l'animazione e il rendering avvengono nello stesso ambiente operativo permettendo secondo il progetto, di utilizzare un "banco di lavoro" ogni volta differente e più consono alle esigenze dell'utente.
Tale possibilità di personalizzazione è talmente profonda che lo stesso progetto affrontato da più utenti seguirebbe per ognuno una strada completamente diversa.
Su Amiga si possono aprire più schermi con un diverso numero di colori permettendo all'utente di impostare un ambiente diverso per ognuno di loro, oltre alla possibilità di renderizzare direttamente su scheda grafica.
Il salvataggio della scena tiene conto anche degli oggetti, dei materiali e di tutte le impostazioni dell'ambiente di lavoro, è anche possibile importare da altre scene uno o più elementi che le compongono senza alcun limite.



4. FORMATI DELLE ENTITÀ GEOMETRICHE

LIGHTWAVE

LigthWave è un programma 3D di tipo poligonale, quest'approccio rappresenta un buon compromesso tra velocità di ridisegno, di resa solida dei modelli, e occupazione di memoria. Tuttavia richiede una buona pianificazione, in quanto il livello di dettaglio necessario agli oggetti formati da superfici curve, inteso come numero di poligoni dipende dalla distanza cui sono posti dalla camera. Infatti l'algoritmo che tramite l'interpolazione della luce che colpisce due facce adiacenti ne permette l'arrotondamento, non è in grado di aumentare i dettagli che definiscono la sagoma dell'oggetto, che rileverà in modo molto evidente la sua natura poligonale.
Il Modeler gestisce entità di tipo poligonale in maniera molto flessibile, consentendo l'utilizzo di facce triangolari, quadrangolari, con più di quattro punti, e poi caso molto particolare, entità geometriche formate da due o un solo punto, molto utili per creare insiemi di particelle o celi stellati, nel secondo caso, e dettagli come peli e capelli nel primo. Ciò permette un notevole risparmio di risorse sia per quel che riguarda la memoria occupata che la velocità durante il ridisegno a video e la resa finale, oltre a consentire soprattutto dove sono presenti poligoni con più di tre vertici, una migliore leggibilità degli oggetti.
Bisogna in ogni modo tenere presente che per evitare errori di resa visibili soprattutto durante le animazioni, è necessario che i poligoni con più di tre vertici abbiano i punti giacenti tutti sullo stesso piano cartesiano: impostando la soglia di piattezza (Flatness limit), dal pannello delle statistiche dei poligoni è possibile isolare ed eventualmente dividere in triangoli le facce che oltrepassano questo valore.
Un'altra implementazione molto utile sono le normali ai poligoni visibili nell'editor quanto questi sono selezionati: indicano da che parte un poligono sarà visibile. LightWave possiede un motore di rendering tipo Z-buffer, in pratica calcola la scena poligono per poligono definendone di volta il volta la visibilità in base alla loro posizione lungo un'asse immaginario perpendicolare allo schermo. E ovvio che dovendo renderizzare una sfera vista dall'esterno i poligoni posti dalla parte opposta all'osservatore avranno le normali rivolte verso l'esterno, quindi essendo invisibili non saranno calcolati, risparmiando preziosi tempi di resa.
Quest'implementazione consente tra l'altro di avere due poligoni adiacenti che condividono gli stessi punti e con le normali in senso opposto, a quali si potranno assegnare due materiali diversi, come nel caso di una lattina colorata all'esterno e non all'interno.
In tutti i casi, il Layout è capace di calcolare entrambe le facce di un poligono senza bisogno di duplicarlo quando non sono necessari materiali differenti. Questa funzione (Double sided) è anche molto utile quando disponendo di un oggetto molto complicato non si è in grado di allinearne correttamente tutte le normali.
L'entità ad una e a due dimensioni, i punti e le linee, teoricamente non potrebbero essere renderizzate in quanto prive di spessore, per questo nel Layout esiste un parametro che ne definisce la dimensione in pixel in rapporto alla risoluzione dell'immagine da calcolare.

Il Modeler oltre a gestire entità poligonali, offre alcuni strumenti molto versatili: le curve spline, le metanurbs, e le metaballs tramite plug-ins. In tutti e tre i casi si tratta di mezzi il cui scopo è l'ottenimento d'oggetti poligonali.
Tramite le curve è possibile estrudere e replicare poligoni, o creare superfici per rivoluzione introno ad un asse. La funzione "Multiply: Patch" consente il riempimento di gabbie formate da spline con le quali si possono creare complesse forme irregolari.
Le metanurbs sono un potente strumento con il quale si possono creare complessi oggetti organici in pochi minuti. Una volta abbozzata la forma che si vuole ottenere con l'ausilio di un'entità poligonale chiusa, la pressione del tasto TAB la convertirà in una gabbia di spline, dove i punti di controllo sono rappresentati dai vertici dei poligoni. Tutti i classici strumenti di modellazione potranno essere usati per l'editing, con la differenza che si avranno variazioni morbide come se avessimo a che fare con della creta. Un'ulteriore pressione del tasto TAB ripristinerà la geometria in modalità poligonale.
Un parametro presente nelle preferenze, consente di definire il livello di dettaglio dell'oggetto poligonale ottenuto dopo la conversione finale delle metanurbs in facce, tramite la funzione "Freeze". Il valore 1 darà come risultato l'oggetto di partenza, valori sempre maggiori andranno a moltiplicare il numero iniziale di facce del modello.
Le metaballs rappresentano un altro metodo per modellare complesse forme organiche, attraverso l'utilizzo di sfere che si deformano fino a collegarsi tra loro in base alla loro reciproca distanza, forza d'attrazione e dimensione. Anche in questo caso la qualità del risultato finale dipenderà dalla conversione più o meno dettagliata in poligoni.

REAL3D

Radicalmente diverso dal programma della NewTek, il pacchetto della RealSoft, gestisce superfici spline, poligonali, ed entità geometriche di tipo matematico. Le prime sono molto flessibili, in quanto consentono di definire forme organiche complesse che mantengono l'accuratezza dei dettagli indipendentemente dalla loro vicinanza alla camera, essendo definite da curve matematiche. Lo svantaggio più evidente è rappresentato dalla mole di calcoli necessaria al loro tracciamento sul video, e soprattutto alla resa solida.
Real3D utilizza anche superfici poligonali, e consente volendo, la conversione delle mesh in poligoni durante la fase di rendering: ciò diminuisce i tempi di calcolo, ma aumenta l'occupazione della RAM. In ogni caso gli strumenti per l'editing dei modelli poligonali permette una flessibilità di gran lunga inferiore a quella dei programmi dedicati come LightWave o Imagine.
Real3D fornisce una serie di tools per la creazione di primitive solide matematiche, che grazie alle operazioni booleane (intersezioni, somme e sottrazioni tra solidi), permette la creazione di forme sia piane che curve anche molto complesse. In un modellatore poligonale operazioni di questo tipo comportano l'effettiva modifica della struttura geometrica degli oggetti coinvolti, variandone la forma ed il numero di facce. In Real3D invece l'efficacia delle operazioni booleane dipende dalla disposizione delle primitive e degli operatori all'interno della struttura ad albero che caratterizza l'organizzazione gerarchica della scena. Tuttavia i calcoli d'intersezione dei solidi avvengono solo in fase di rendering, o quando n'è richiesta l'anteprima in fil di ferro. Per cui modificando la posizione o la dimensione di ognuno di essi, si potranno avere in ogni momento mutamenti radicali della geometria globale risultante, senza bisogno di ritornare indietro.
Gli enormi vantaggi di quest'approccio, sono l'iniqua occupazione di memoria, e la velocità di rendering impressionante; la minore flessibilità in modellazione rispetto alla geometria poligonale o a spline è trascurabile quando si affronta un progetto meccanico o architettonico, dove la complessità delle forme non è mai esasperatamente complessa e irregolare.
Quando si fora un oggetto poligonale con un'immagine a due colori per mezzo del clip-mapping, esso dentro appare vuoto. Per tale ragione molte volte, per realizzare con questa tecnica oggetti che diversamente richiederebbero un numero di poligoni troppo elevato, come ad esempio ringhiere di ferro battuto, si è costretti ad usare oggetti piani, perdendo la sensazione di rilievo. Le primitive matematiche soggette a questo trattamento non si comportano allo stesso modo, in quanto sono entità in tutto e per tutto solide.
Real3D dispone anche d'alcuni strumenti con i quali è possibile creare solidi per rotazione o con profili complessi, ottenendo automaticamente insiemi di primitive elementari organizzate per ordine gerarchico assieme gli operatori booleani.
L'unico vero svantaggio dei solidi matematici è la loro leggibilità sullo schermo, insufficiente soprattutto in presenza di complesse operazioni booleane, perciò si è obbligati ad eseguire frequenti rendering di prova.



5. GLI EDITOR DEI MATERIALI

LIGHTWAVE

I risultati ottenibili con l'editor dei materiali del Layout sono sicuramente eccellenti, una prova eclatante è la riuscita dell'R.M.S. Titanic nel film di Cameron, dove l'oggetto formato da ben un milione di poligoni era trattato con decine di megabyte di mappature. Bisogna comunque tenere conto che nella maggior parte dei casi, risultati del genere sono dovuti anche all'utilizzo di shader e plug-ins vari che oltre ad arricchire di caratteristiche il prodotto della NewTek, impoveriscono il portafoglio dell'utente.
Tuttavia le possibilità offerte con la dotazione di base permettono comunque di ottenere eccellenti risultati anche se con qualche difficoltà e spreco di risorse macchina.
LightWave consente il controllo di diverse caratteristiche ottiche delle superfici: il colore, la capacità di diffusione della luce, la luminosità, le riflessioni indirette (specularità), quelle dirette, la trasparenza, e gli effetti di rilievo (bump-mapping), sia attraverso valori numerici che con l'applicazione di mappature e/o texture procedurali, il cui numero comunque, senza l'ausilio di plug-ins esterni, rimane limitato a dieci (non ci troviamo certo nel caso di Imagine della Impulse dove se ne possono trovare numerose decine).
Da un menù a scorrimento si accede alla lista delle superfici relative agli oggetti caricati nella scena. Una particolarità molto interessante è il parametro che indica al programma fino a quale angolo formato dalle normali di due facce adiacenti, deve essere eseguito l'arrotondamento degli spigoli, ciò evita di dover definire selezionando parti differenti d'ogni oggetto quali siano le parti trattate dallo smoothing.
Le mappature possono essere applicate sulle superfici secondo le modalità classiche presenti in tutti i programmi: piana, cilindrica, e sferica. Inoltre è presente la proiezione cubica, con la quale un brush è proiettato da sei direzioni perpendicolari fra loro. Con il "Front Projection Image Map" forse uno degli strumenti più potenti dell'editor, è possibile mappare su un oggetto la stessa immagine dello sfondo facendole corrisponderà perfettamente, utilissimo per creare delle mascherine, la dove vi è la necessità di interporre attori virtuali tra gli elementi di una foto presa dal vivo.
Gli strumenti di LightWave per le mappature delle immagini sono alquanto rozzi e limitati, dopo aver scelto, ad esclusione delle modalità cubica e "Front Projection", l'asse di proiezione, si può operare in due modi: attuare il dimensionamento automatico del brush che si adatterà alla superficie su cui è applicato, oppure inserire i valori numerici relativi tramite l'apposito requester. In definitiva è impossibile interagire con il mouse sullo schermo, per posizionare e dimensionare le mappature.
E possibile ripetere un motivo verticalmente od orizzontalmente, oppure applicarlo una sola volta in una zona circoscritta della superficie, si può attivare il calcolo dell'antialiasing, per impedire che i motivi complessi che si restringono per l'effetto prospettico siano soggetti a spiacevoli resinature, e tramite l'opzione "Pixel Blendig" si potranno sfumare le immagini che si avvicinano troppo alla camera. Il parametro "Texture Falloff" serve a smorzare l'efficacia del motivo sulla superficie in rapporto alla distanza dal centro d'applicazione.
Resta comunque impossibile riflettere un brush rispetto alla sua copia adiacente quando è applicato più volte, sono solo consentite rotazioni di 180_ immettendo nel requester di dimensionamento valori negativi. Inclinazioni differenti, anche di 90_, richiedono l'utilizzo d'immagini supplementari preventivamente ruotate con un programma di fotoritocco.
C'è comunque da precisare, che dalla versione 5.5 non ancora disponibile su Amiga, è possibile ancorare le mappature ad un oggetto estraneo alla superficie trattata, ad esempio un "Null Objetc" (entità utilizzata come punto di riferimento, e non renderizzabile). Così facendo le proiezioni seguiranno gli spostamenti e le rotazioni dell'oggetto in questione.
Oltre alle mappature che definiscono i diversi aspetti di un materiale, è possibile utilizzare brush in scale di grigi o a due colori per definire su quali parti di una superficie e in quale misura saranno applicate. Volendo per esempio riempire una scritta con un motivo, non bisognerà fare altro che applicarlo usando come "Texture Alpha Image" un'immagine in bianco e nero che rappresenti il testo.
Ad ogni superficie possono essere assegnati più strati di mappature e texture, il cui numero è limitato solo dalla memoria disponibile, due tasti consentono di passare da uno all'altro, ma la totale assenza di una lista o di un menù a scorrimento come quello per la selezione dei materiali, disorienta molto facilmente l'utente, costringendolo così ad una pianificazione accurata del lavoro durante lo studio dei materiali. Inoltre non è possibile eseguire il copia e incolla di una texture, utile quando sono necessarie più applicazioni dello stesso motivo con alcuni parametri differenti.
Nel pannello dei materiali la pressione del tasto "s" da accesso all'anteprima della superficie selezionata, che andrà di volta in volta ad affiancarsi a quella precedente, permettendo di constatare l'efficacia delle modifiche apportate al materiale. Un requester accessibile dopo la pressione dei tasti "shift+s" consente di definire la forma sferica o cubica dei campioni per l'anteprima, la loro dimensione, e la presenza di un motivo a scacchiera sullo sfondo, utile per i materiali trasparenti. Purtroppo questa opzione stranamente non funziona.
Dal momento che l'interfaccia di LightWave non supera i sedici colori l'anteprima dei materiali avviene sullo stesso schermo scelto per la visualizzazione del rendering a calcoli ultimati. Esiste in effetti un plug-ins che aggiunge alla lista delle modalità grafiche disponibili a tale scopo, schermi CyberGraphX a 16 o a 24 bit, nel caso siano presenti i driver e una scheda video. Purtroppo però non sono utilizzabili per l'anteprima dei materiali, costringendo l'utente a passare dalla modalità CyberGraphX per il rendering, a quella HM8 o HM6 per le anteprime, onde evitare blocchi irreversibili del programma.

REAL3D

Molto più completo del precedente, questo editor tratta i materiali com'entità svincolate dagli oggetti, la loro posizione nell'albero gerarchico che organizza la scena, ne determina l'influenza sull'entità geometriche. I controlli delle caratteristiche fisiche delle superfici sono più o meno equivalenti a quelli di LightWave, a parte qualche piccola diversità nel modo di gestirli.
Le differenze più evidenti riguardano le mappature e le texture. Per quel che riguarda le prime oltre alle solite modalità, piana sferica e cilindrica, esiste la particolarissima proiezione a disco: praticamente l'immagine è fatta ruotare intorno ad un asse perpendicolare alla mappatura.
Nelle ripetizioni dei motivi sulle superfici i moduli adiacenti possono essere invertiti uno rispetto all'altro.
Una caratteristica che LightWave sfrutta utilizzando il canale Alpha, qui è denominata "Scope masking": un motivo applicato su un oggetto definisce quali parti di esso saranno influenzate dal materiale relativo.
Oltre alle texture procedurali fornite dal programma che sono in grado di influire su diverse caratteristiche delle superfici, è possibile inserire formule matematiche oppure nel linguaggio di programmazione di Real3D chiamato RPL.
Le mappature possono essere posizionate e modificate interagendo con il mouse su qualsiasi finestra e punto di vista. Tramite apposite preferenze potranno essere visibili o meno sia i volumi d'ingombro che i nomi dei materiali associati.
Uno strumento molto potente è quello che consente di adattare un'immagine ad una mesh seguendone esattamente la forma. Con questa tecnica, ovvero lo spline mapping, non è necessario preoccuparsi che modalità di proiezione utilizzare per ottenere il miglior risultato, e non vi saranno deformazioni delle mappature dovute ai limiti dei sistemi di proiezione classici. L'immagine seguirà la struttura dell'oggetto mantenendosi perfettamente ancorata alla mesh su cui è applicata. Ne seguirà ogni movimento e deformazione anche durante un'animazione, esattamente come la pelle di un serpente.



6. LUCI E RENDERING

LIGHTWAVE

Il motore di rendering del Layout basato come accennato precedentemente su l'algoritmo di Z-buffer è uno dei più efficienti presenti sul mercato. L'implementazione del raytracing selettivo permette di escludere dal rendering di tipo realistico il calcolo delle ombre, delle riflessioni e della rifrazione, velocizzando i tempi di resa, inoltre sono presenti le modalità wireframe e quickshade. Quest'ultima tiene conto solo del colore delle superfici e non prevede l'arrotondamento degli spigoli. Il "Ray Recursion Limit" consente di controllare il numero di riflessioni multiple possibile tra superfici riflettenti.
Vi sono tre tipologie di luci: puntiformi, spot e distanti. Le luci puntiformi e distanti permettono la proiezione d'ombre solo con il raytracing, gli spot sia con il raytracing che tramite la creazione di mappe (shadows mapping) consentendo di ottenere ombre con bordi sfumati. Quest'ultimo metodo non necessita l'attivazione del raytracing quindi è molto più veloce, ma richiede una quantità di spazio in memoria proporzionale alla risoluzione delle mappe, definibile dall'utente, oltre a non tenere conto della trasparenza degli oggetti.
La differenza fra luci puntiformi e distanti risiede nella maniera con la quale è calcolata l'illuminazione della scena. La prima emette raggi non paralleli tra loro che daranno origine ad ombre con diversa inclinazione. La seconda è utile per riprodurre fonti poste a distanze infinite, il cui comportamento è simile a quello della luce solare: le ombre appaiono parallele fra loro.
Per ogni fonte si possono definire il colore, l'intensità, e la visibilità della luce emessa con l'ausilio dei lens flares, inoltre è disattivabile la generazione di riflessi speculari o l'emissione di luce diffusa. Gli spot e le fonti puntiformi possono avere un raggio d'influenza limitato.
Le deformazioni dovute all'effetto prospettico sono inversamente proporzionali al fattore di zoom della camera. Il tipo d'obiettivo invece influisce sul risultato ottenibile quando è attivato il calcolo degli effetti di sfocatura dovuti alla profondità di campo. Quest'ultimo assieme all'effetto di mosso aumentano sia il realismo della risultato finale che i tempi di calcolo necessari.
La qualità della resa oltre a dipendere dalle varie opzioni relative al raytracing, è ovviamente proporzionale alla definizione dell'immagine e all'efficacia dell'algoritmo d'antialiasig. Molti programmi, fra questi Real3D e Imagine implementano lo scanline con il quale l'immagine è calcolata e simultaneamente salvata riga per riga sul disco rigido. Con questo metodo con l'aumentare della definizione dell'immagine richiesta crescono "solo" i tempi di calcolo. Con LightWave è possibile assegnare la quantità di memoria utilizzata dal motore di rendering, in base alla quale l'immagine sarà divisa in diversi segmenti calcolati in sequenza. Nonostante ciò' il salvataggio su disco sarà effettuato solo dopo il loro completamento, perciò il programma necessita di uno spazio in memoria supplementare proporzionale alla dimensione dell'immagine.
Principalmente l'algoritmo d'antialiasing presenta tre livelli d'efficacia, per i quali si può impostare una soglia quando è attivata la ricerca delle zone da trattare, calcolate in base alla differenza di colore tra i punti adiacenti. Altri tre livelli denominati enanched sono stati implementati grazie all'intervento della Digital Domain (ditta autrice degli effetti speciali di Apollo 13 e Titanic): sono molto più efficaci dei precedenti ma richiedono tempi di calcolo più elevati.
E anche presente un'opzione che consente il rendering solo in una zona dell'inquadratura, anche se non è possibile definirne più di una contemporaneamente.

REAL3D

Programma di raytracing per eccellenza, anche Real3D possiede diverse modalità di calcolo, di volta in volta più complesse e realistiche. A partire dal wireframe si passa alla modalità draft, che non tiene conto dei materiali ma che ha comunque un ottima resa in presenza di primitive solide. Si passa poi a modalità sempre più complesse: resa dei materiali con illuminazione ambientale, con una sola fonte di luce, rendering completo ma senza ombre e infine raytracing completo di riflessioni, rifrazione e ombre.
L'ordine di rendering può essere impartito direttamente su file, su uno schermo esterno, oppure da qualsiasi finestra, sia che si abbia a che fare con un vista parallela, prospettica, o da qualsiasi delle infinite camere definibili. Potremo avere anche più finestre con punti di vista e modalità di rendering differenti, ognuna impegnata nei calcoli.
E possibile definire un numero qualsiasi di zone sulle viste, allo scopo di limitare i calcoli solo nei punti più importanti di una scena.
Oltre ai tipi di luce convenzionali, puntiformi e spot, troviamo alcune sorgenti unidirezionali: line, wall, e beam. La seconda provoca la proiezione di ombre con i bordi sfumati in raytracing, ma richiede notevoli tempi di resa non essendo altro che l'equivalente di un muro formato da numerose luci puntiformi. Anche Real3D utilizza le lens flares, benché la qualità dei risultati ottenibili non sia paragonabile a quella di LightWave.



7. MODIFICHE AVANZATE DELLA GEOMETRIA DEGLI OGGETTI

LIGHTWAVE

Nel pannello degli oggetti, oltre al loro caricamento e salvataggio, esistono alcune opzioni che ne permettono l'invisibilità da parte della camera, della nebbia, e dell'algoritmo di raytracing. Inoltre può essere disattivata la proiezione di ombre dell'oggetto sul resto della scena e/o su se stesso, come pure dal resto della scena.
Tuttavia la parte più interessante di questo pannello riguarda quegli strumenti con i quali è possibile alterare anche in modo dinamico la geometria degli oggetti.
Il clip mapping attraverso le stesse metodologie di proiezione presenti nell'editor dei materiali servendosi di un'immagine a due colori, e anche con l'utilizzo delle texture procedurali, è in grado di eliminare parti di un oggetto. E da sottolineare che mentre le mappature dei materiali influenzano l'oggetto intero o una parte di esso, a seconda di come sono stati assegnati i materiali, il clip mapping tiene conto dell'entità nel suo insieme.
Le mappature usate per rendere totalmente trasparenti parti di un oggetto, solo apparentemente portano ad un risultato simile, infatti anche se le zone trattate lasciano trasparire ciò che vi è oltre, presenteranno comunque caratteristiche di riflessione e rifrazione quando presenti. Inoltre un'entità trattata con il clip mapping proietterà correttamente anche le ombre ottenute con lo shadows mapping.
Un altro strumento che sfrutta la tecnica delle mappature è il displacement mapping, che come implementazione e parametri e per tutto identico al bump mapping utilizzato per i materiali. L'unica differenza risiede nel fatto che mentre la seconda agisce sull'aspetto cromatico della superficie dando l'impressione che essa sia perturbata da rilievi, per cui viste molto radenti o del profilo dell'oggetto riveleranno l'artefatto, la prima ne altera la geometria spostandone i punti in base alla luminosità dell'immagine utilizzata. E chiaro che l'efficacia di questo strumento dipende dalla quantità di poligoni che formano l'oggetto.
Il morphing consente di attuare trasformazioni dinamiche tra diversi oggetti, a patto che abbiano lo stesso numero di punti. Oltre a poter controllare in che misura un'entità debba assumere la geometria di un'altra, la trasformazione può interessarne anche l'aspetto dei materiali.
L'animazione scheletrica oltre a essere un potente mezzo per creare movimenti realistici, è anche uno strumento avanzatissimo per la modellazione. Infatti con questo sistema è possibile attuare su un oggetto qualsiasi tipo di movimento e deformazione senza bisogno che esso sia suddiviso in più parti. L'approccio di LightWave non è uno dei più semplici: come al solito bisogna fare una buona pianificazione del lavoro, soprattutto perché la riuscita delle struttura scheletrica dipende da una buona organizzazione gerarchica delle ossa. E necessario già dall'inizio prevederne il numero e la posizione, cimentarsi in lunghe operazioni ripetitive soprattutto quando si ha che fare con oggetti simmetrici, come corpi umani o animali: non è possibile copiare e incollare gruppi di ossa e posizionarli in qualsiasi punto della gerarchia.
Volendo citare l'esempio del corpo umano, bisogna partire dalla testa, passare al collo, e aggiungergli come ossa figlie la clavicola, l'avambraccio e la mano. Dopo essere risaliti di nuovo al collo bisogna ripetere le stesse operazioni per l'altro braccio. Successivamente ripartendo dallo stesso punto si continuerà con il resto del corpo.
Tuttavia tramite i parametri presenti nel pannello preposto all'editing delle strutture scheletriche, si può avere un controllo completo dei risultati ottenibili. Oltre alle operazioni di dimensionamento e rotazione attuabili sulla finestra principale del programma come per gli altri elementi della scena, è possibile definire il raggio d'influenza che un osso ha su un oggetto, il tipo di decadimento che esso subisce, compensare le deformazioni che si hanno in prossimità di una piega anche rispetto ad un osso imparentato, e attivare il rigonfiamento come per i muscoli tenendo conto anche in questo caso delle parentele.
Fintanto che le ossa saranno disattivate non avranno alcuna influenza sull'oggetto. Dopo questo momento ogni movimento, rotazione, e deformazione plasmeranno sia l'oggetto che tutte le mappature ad esso applicato.
Le implicazioni che ne conseguono sono abbastanza evidenti: molti limiti delle tecniche del brush mapping di LightWave possono essere superate utilizzando questa tecnica. Volendo infatti proiettare dei motivi sui vestiti di un attore virtuale che assume una posa complessa, invece di plasmarne la forma con i classici strumenti di modellazione, ed essere obbligati in un secondo tempo a creare complesse mappature su parti del corpo identiche ma in diverse posizioni, utilizzeremo le ossa a partire da una forma umana perfettamente simmetrica.
E da notare infine che un oggetto può essere salvato anche tenendo conto delle modifiche subite tramite gli strumenti citati (ad eccezione del clip mapping), rendendole così definitive.
Le deformazioni causate da uno scheletro neanche troppo complesso, diciamo all'incirca una trentina d'ossa, richiedono un oggetto con un buon dettaglio poligonale e quindi un'elevata potenza di calcolo: la velocità di ridisegno può richiedere tempi più lunghi che in assenza di trasformazioni.

REAL3D

Non è possibile fare una netta distinzione tra le categorie di strumenti che si hanno ha disposizione con questo avanzatissimo programma. L'animazione scheletrica e il morphing, strumenti basilari dei programmi più diffusi, sono affiancati da tools con i quali si possono ottenere risultati che richiedono con LightWave l'utilizzo di plug-ins aggiuntivi. Basti pensare che con un'animazione si può modificare un oggetto, creando per esempio la sequenza di un trapano che buca una parete. Le leggi fisiche a cui si possono vincolare gli attori della scena possono farli interagire fra loro modificandoli in maniera definitiva: un personaggio che cammina su un terreno formato da una mesh, può con il suo peso lasciare delle impronte. La vastità degli strumenti disponibili e la loro potenza, non li rendono comunque accessibili a tutti, probabilmente la sterilità di molti tools presenti in LightWave limita la creatività dell'utente in alcuni casi ma ne aumenta la produttività in molti altri.



8. L'ANIMAZIONE

Sebbene la vastità di questo tema, richieda molto più spazio rispetto che non gli altri argomenti, saranno illustrate solo le caratteristiche principali che ne caratterizzano gli strumenti.
Come accennato in precedenza Real3D annovera un numero impressionante di tools per la creazione di movimenti anche molto complessi: dall'animazione per key frame, a quella scheletrica, a la cinematica inversa, fino a quella comportamentale che tramite leggi fisiche come l'attrito, la massa, l'elasticità, la forza di gravità, e forze come il vento crea complesse interazioni fra gli attori della scena, permettendo animazioni che con mezzi standard sarebbero impossibili.
LightWave invece si propone con una collezione di strumenti di gran lunga più limitato, basandosi interamente sull'animazione per key frames, su cui si appoggiano anche quella scheletrica e la cinematica inversa.
Quasi tutti gli elementi di una scena, come pure alcune caratteristiche dei materiali, possono essere animate inserendo valori differenti in punti chiave di un'animazione, tutti i valori intermedi relativi ai fotogrammi posti tra questi punti, saranno calcolati per interpolazione. Ma la cosa non finisce qui, infatti queste modifiche che di base hanno un andamento lineare possono essere controllate tramite il "Graph Editor", che consente di editare le curve (envelopes) che rappresentano ogni tipo di variazione possibile. In effetti si tratta proprio di splines soggette a parametri come la continuità, la tensione, e così via. L'editor raggruppa anche una serie di controlli con i quali è possibile caricare e salvare una curva, o compiere tutte le azioni possibili sui punti chiave: crearne di nuovi, copiarli e cancellarli, spostarli, e scalarne gruppi.
Gli envelopes non servono solo ad animare la posizione e la taglia degli attori della scena (gli oggetti, le ossa, la camera e le luci), ma consentono anche di controllare il morphing, animare la sparizione o l'apparizione di un oggetto, l'intensità e il raggio di azione delle luci, e l'ampiezza dei faretti. Sono animabili praticamente tutti i parametri relativi ai lens flares, il fattore di zoom della camera, e le variabili legate alla profondità di campo e a l'effetto mosso.
Precedentemente avevo accennato alla possibilità di animare alcune caratteristiche dei materiali. Purtroppo non esiste nessun controllo tramite envelopes, anche se alcune texture procedurali di natura dinamica, come per esempio le onde, consentono di definire la velocità di propagazione del fenomeno.



9. GLI EFFETTI SPECIALI

LIGHTWAVE

Fin dagli inizi LightWave ha annoverato strumenti particolarmente adatti alle produzioni televisive. Le sue evoluzioni grazie ai vari aggiornamenti hanno seguito molto da vicino le esigenze dell'utenza, che ultimamente si è estesa anche al campo cinematografico, in produzioni non certo a basso budget.
Di conseguenza ci si trova di fronte ad alcuni tools molto potenti e semplici da usare, che consentono di inserire una sequenza 3D in un filmato ripreso dal vivo in maniera molto efficace.
Il colore di sfondo per il rendering, oltre a essere uniforme, in alternativa può essere calcolato dividendo la sfera immaginaria che circonda la scena in quattro fasce orizzontali: le due zone sopra e sotto l'orizzonte della camera, e i due poli della sfera. la velocità di passaggio tra i diversi colori liberamente definibili, è controllabile tramite valori numerici.
L'effetto nebbia oltre a creare il fenomeno di cui porta il nome, può essere utile per esempio per riprodurre ambienti sottomarini. Con i tre tipi diversi disponibili, una lineare e due non lineari, sono definibili i raggi di azione e le intensità minima e massima dell'effetto, e il suo colore, che può in alternativa assumere quello delle sfondo.
L'effetto glow crea un alone luminoso attorno agli oggetti, ed è attribuibile ad una o più superfici nell'editor dei materiali. Due parametri che agiscono purtroppo solo in maniera globale sulla scena, ne definiscono l'intensità e la distanza dalle superfici espresso in pixel. Questo approccio è alquanto rudimentale in quanto l'effetto va calibrato in base alla risoluzione del rendering, oltre a non tenere conto delle leggi prospettiche. Inoltre, benché entrambe le variabili siano animabili mediante gli envelopes, resta molto complicato adattarne i risultati in rapporto alla distanza di un oggetto dalla camera.
Sebbene i rendering siano calcolati a sedici milioni di colori, può capitare che in una scena con molte tonalità di una stessa tinta, questi non siano sufficienti a evitare di scorgerne nette separazioni. Tre tipi di dither oltretutto animabili evitano questo spiacevole effetto.
La saturazione del colore è un'altra variabile animabile con gli envelopes.
I colori di sfondo possono essere sostituiti da un'immagine preventivamente caricata nella scena. La stessa foto o una diversa possono anche essere collocate di fronte alla camera: con l'ausilio del canale alpha si controllerà la trasparenza dell'immagine nei confronti della scena e dello sfondo. Questa tecnica è utile quando è necessario inserire un attore virtuale tra gli elementi di una foto, che sarà posta nella scena sia sullo sfondo che in primo piano. Un'immagine a due colori recante le sagome degli elementi che celeranno gli oggetti 3D, sarà utilizzata come canale alpha.
I lens flares ovvero riflessioni delle lenti, sono una delle implementazioni più riuscite di LightWave, fin dalle prime versioni del software rappresentavano una delle caratteristiche più invidiate dai programmi concorrenti. Con questo effetto si possono rendere visibili le fonti luminose indipendentemente dalla loro intensità. E possibile controllare ogni aspetto dei flares, come l'intensità, la dissolvenza, la forma, la presenza o meno dei raggi come quelli visibili nelle stelle, eventuali effetti di distorsione, la presenza di un anello intorno al nucleo centrale, e l'attivazione dei riflessi causati dalle lenti dell'obiettivo. E anche possibile fare in modo che i flares siano coperti, in base alla loro posizione, dagli oggetti presenti nella scena; o che la nebbia ne attenui l'intensità.

REAL3D

Real3D non presenta particolari strumenti per facilitare la fusione tra scene reali e virtuali. E previsto l'inserimento di un'immagine per lo sfondo, o di un gradiente lineare tra due colori, senza altra possibilità di sorta. Alcuni tipi di dithering possono essere soggetti a scalatura.
Alcuni effetti che agiscono sull'immagine a calcoli ultimati aggiungono gli aloni luminosi e i lens flares. Questi ultimi anche se soggetti a una buona quantità di parametri, non raggiungono come già accennato in precedenza, il livello qualitativo dei flares di LightWave.



10. CONCLUSIONI

LightWave in linea generale possiede un numero di strumenti inferiore al programma concorrente, ma a parte qualche grossa lacuna come l'editor dei materiali, i tools messi a disposizione sono generalmente semplici ed efficaci, permettendo di ottenere risultati indubbiamente professionali. Il Modeler consente un controllo preciso e accurato della geometria degli oggetti, anche se bisogna affermare che l'utilizzo di un plug-ins come Macroform, il quale aggiunge un numero impressionante di strumenti per l'editing, diventa una volta provato, un add-on di cui non si può fare a meno, ma per cui bisogna spendere un altro mezzo milione di lire.
Le animazioni complesse realizzabili con Real3D, sono possibili anche con LightWave tramite l'ausilio di plug-ins talvolta anche costosi, che non sempre seguono la filosofia operativa del programma.
Il Layout pur disponendo di una griglia di riferimento, non possiede controlli via mouse precisi per le operazioni di spostamento e scalatura dell'entità che compongono la scena, obbligando ad un utilizzo massiccio del requester numerico la dove necessita un editing accurato.
Real3d offre invece una filosofia di lavoro molto simile a quella dei CAD, consentendo di operare in modo molto preciso in tutte le operazioni di editing.
Molto più completo, non necessitando di spese aggiuntive per realizzazioni complesse, richiede comunque uno sforzo maggiore per prenderne padronanza.
E evidente che il prodotto della NewTek rappresenta un punto di partenza già sufficientemente potente per quasi tutte le esigenze, con una curva di apprendimento abbastanza lieve, e una capacità produttiva di un certo spessore: scene molto semplici come loghi animati, sono fattibili in pochi minuti. In molti casi comunque, i limiti del programma obbligano ad uno sforzo in più per ottenere il risultato voluto.
In base alle necessità del singolo utente bisognerà poi considerare l'acquisto di plug-ins aggiuntivi per la realizzazione di progetti più ambiziosi.
Real3D richiede una curva di apprendimento molto ripida, ma una volta entrati nella filosofia del programma, non vi sono più limiti alla creatività. Per certi versi meno produttivo del programma concorrente, permette comunque un controllo accurato della scena senza limiti di sorta. Benché esistano plug-ins aggiuntivi per creare animazioni molto particolari, l'investimento necessario per produzioni complesse si può benissimo limitare al prezzo del programma.

Torna alla Home Page di AMiWoRLD


Copyright AMiWoRLD
Contact:
david@rosenet.it
[Made On Amiga]