Indice


       Aprire l'ultimo file con QUESTO LINK.
Questa guida parte dalla descrizione delle Normali e dal loro ruolo nell'ombreggiatura del modello solido. Per default, l'ombreggiatura è lo scopo dell'affinamento delle Normali.
       Ma le Normali sono anche utilizzate generare la mappatura dei riflessi (enviroment mapping). Non è molto difficile ottimizzare le Normali per una buona mappatura dei riflessi. E' molto più difficile ottimizzare le Normali in modo che SIA l'ombreggiatura CHE la mappatura dei riflessi siano ENTRAMBI ben realizzati.
       Così, prima di aggiustare le Normali, è necessario stabilire quale risultato si vuole perseguire.

       Prima di iniziare, impostiamo correttamente le proprietà di Direct3D.
       Aprire la finestra di dialogo (dal menù principale) Options\Settings... e, nel foglio Direct 3D, spostare il cursore di Shading (Shadows level) (ovvero: Livello di Ombreggiatura) alla posizione più a destra possibile. Premere OK e chiudere la finestra di dialogo.

       Nascondere tutte le ruote, facendo rimanere visibile solo il corpo vettura.
       Una buona ombreggiatura si ottiene quando la macchina è riconoscibile nei suoi tratti principali senza l'uso delle texture. Per disabilitare la visualizzazione delle texture, levare il segno di spunta dal menù a tendina della vista 3D Settings\Textures\Use Textures (ovvero: Impostazioni\Texture\Usare Texture). Disabilitare anche la visualizzazione del reticolo, rimuovendo il segno di spunta da Settings\Shade,Fill\Wireframe\Enable (ovvero Imopstazioni\Ombra, Riempimento\Reticolo\Abilitare) e l'ombreggiatura uniforme, rimuovendo il segno di spunta da Settings\Shade,Fill\Flat Shading (ovvero, Impostazioni\Ombra, Riempimento\Ombra Uniforme).
       Si vedrà qualcosa simile a questo:


       Prima di ottimizzare le Normali occorre disabilitare l'opzione di aggiornamento automatico delle Normali rimuovendo il segno di spunta dalla voce Options\Normals\Automatic Update (ovvero: Opzioni\Normali\Aggiornamento Automatico) nel menù principale.

       Tutti gli Strumenti di ottimizzazione delle Normali sono nel ramo Surface...\Normals...:       

  • Normalize (ovvero: Normalizzare)- resetta la lunghezza delle Normali a 1.0.
  • Rotation (ovvero: Ruotare) - raramente usato per ruotare le Normali.
  • Scaleing (ovvero: Scalare)- usato per aggiustare l'ombreggiatura. Riduce/aumenta la lunghezza della Normale. Utilizzato per diminuire la luminosità. Siccome la maggior parte dei giochi non tiene conto della lunghezza delle Normali, questo Strumento può essere utilizzato per simulare l'ombreggiatura riducendo la lunghezza delle normali della parte inferiore della vettura.
  • Flip (ovvero Invertere) - inverte la direzione della Normale. Viene utilizzato dopo aver riflesso un Oggetto.
  • Calculate (ovvero: Calcolare) - definisce la Normale di default. E' l'operazione compiuta dall'aggiornamento automatico.
  • Projection (ovvero: Proiezione) - definisce la direzione delle Normali a partire dal centro dell'asse
  • By Gismo (ovvero: metodo Gismo)- potente metodo per generare Normali per la mappatura dei riflessi. Verrà descritto nell'ultimo paragrafo di questo capitolo.

           Scaleing.
           Questo Strumento è utilizzato per simulare l'ombreggiatura mediante la riduzione della lunghezza della Normale. Illustrerò questo concetto sulla presa d'aria del paraurti della BMW.
           Selezionare i Vertici che appartengono alla parte INTERNA della presa d'aria (nel frontale della BMW):

    Lì ci sono 12 Vertici (premere CTRL-A per verificarlo). Attivare la modalità di SELezione, scegliere lo Strumento Surface...\Normals\Scaleing e passare alla vista laterale. Cliccare e trascinare il mouse a sinistra per ridurre la componente orizzontale delle Normali (nella vista attuale) e trascinare il mouse in basso per ridurre la componente verticale delle Normali. Dopo diversi "trascinamenti" la lunghezza può essere ridotta di molto e la parte interna della presa d'aria diventa scura:

           Questo Strumento è molto utile quando si vogliono aggiustare le ombreggiature. Specialmente quando si è riusciti a generare una valida mappatura dei riflessi è possibile modificare la lunghezza di alcune Normali per migliorare l'ombreggiatura.

           Calculate.
           Questo Strumento permette di calcolare le Normali di default e di resettare le lunghezze delle Normali.

           Projection.
           STRUMENTO MOLTO IMPORTANTE quando si vuole creare una valida mappatura dei riflessi. Questo Strumento proietta le Normali a partire dal centro dell'asse.
           Per capire bene come funziona, abilitiamo la mappatura dei riflessi della vettura:
  • Abilitare le texture mettendo il segno di spunta nella voce Settings\Textures\[v]Use textures (ovvero: Impostazioni\Texture\[v]Usare Texture) del menù della vista 3D.
  • Abilitare la mappatura dei riflessi mettendo il segno di spunta nella voce Settings\Textures\[v]Multiple textures (chrome) (ovvero: Impostazioni\Texture\[v]Riflessi).
  • Abilitare la mappatura dei riflessi cromati mettendo il segno di spunta nella voce Settings\Textures\Always high blend (high chrome) (ovvero: Impostazioni\Texture\[v]Riflessi Cromati).
    NOTA: "Mappatura dei Riflessi", "Riflessi", "Riflessi cromati" riguardano tutti lo STESSO CONCETTO.
  • Aprire l'editor dei materiali.
  • Selezionare il materiale ultimo della lista (potrebbero esserci diversi < default material >). Questo materiale dovrebbe avere le texture.
  • Mettere il segno di spunta su Reflection Map (ovvero: Mappa dei Riflessi) e premere sul pulsante Load Map.. (ovvero: Caricare la Mappa) (sulla destra).
  • Nella finestra di navigazione delle texture selezionare il file Environm.bmp contenuto nella directory Files\ di questa guida.
           L'immagine sotto rappresenta il contenuto del file:

           Se sono state abilitate tutte le corrette opzioni nel ramo Settings/Textures del menù della vista 3D, allora la sfera della finestra dell'editor apparirà come segue:

           Dopo aver premuto OK la vettura apparirà con riflessi cromati:

    ... e sincermante, l'effetto non è dei migliori.
           Tornando alla Proiezione delle Normali, selezionare questo Strumento e cliccare sul corpo vettura nella vista laterale.
           L'immagine seguente illustra come le Normali vengono orientate:

    Le frecce rosse mostrano che tutte le Normali (ho selezionato diversi Vertici per mostrare più Normali) sono "proiettate" a partire dal centro dell'asse.
           Allo stesso modo, le Normali nella vista frontale non hanno subito che piccoli cambiamenti e appaiono come se fossero state definite con lo Strumento Calculate:

    Le linee rosse mostrano che le Normali non sono convergenti nel centro dell'asse.
           Per proiettare le Normali lungo i tre assi insieme, occorre tenere premuto il tasto SHIFT quando si clicca sull'Oggetto. E' possibile cliccare di nuovo sull'Oggetto, tenendo premuto il testo SHIFT. L'immagine seguente mostra che anche nella vista frontale le Normali sono proiettate dal centro dell'asse, anche se si è cliccato nella vista laterale:

           Nello stesso istante, i riflessi cromati assumono un aspetto migliore. Ma presenta ancora un lato da migliorare: si estendono (diventano più lunghi) nel frontale e nel posteriore e non sono ancora perfetti. Questa caratteristica negativa della proiezione può essere evitata usando la combinazione della barra numerica #1 (dove possono essere impostati valori minori di 100%), usando la modalità EXTended (ovvero: estesa), che non verrà trattata in questa guida, oppure usando lo Strumento di definizione col Metodo Gismo.

           L'ultima cosa da riportare è che tutti gli Strumenti di modifica delle normali possono essere applicati sia ai Vertici che agli Oggetti.


           Questo Strumento serve per resettare le Normali alle dimensioni di origine e per generare Normali standard. Questo metodo può essere applicato con un singolo click e può generare Normali per una normale ombreggiatura del modello.
           Le stesse considerazioni valgono per la mappatura dei riflessi: la resa non è certamente la migliore.


           La combinazione di questi Strumenti permette una buona resa dell'ombreggiatura e della mappatura dei riflessi cromati nello stesso tempo.
           Prima di tutto, si resettano le normali con lo Strumento Calculate.
           Poi si passa alla vista laterale e si posiziona il centro dell'asse vicino alla parte inferiore delle portiere:

    ... poi si passa alla vista frontale e si seleziona lo Strumento Projection. Cliccare sull'Oggetto (senza premere il tasto SHIFT !). Se il centro dell'asse nella vista frontale è al centro della vettura (nè a destra nè a sinistra), allora si otterrà l'effetto desiderato:

           Come si vede, i riflessi cromati sono molto uniformi ed anche l'ombreggiatura è ben sfumata:


           Questo metodo genera Normali del tipo che hanno la maggior parte delle auto di Need for speed 4. Mi piace questo metodo, così come il metodo Gismo.
           Consiste nel dividere la vettura in più parti e nell'usare lo Strumento di proiezione su queste parti con diversi posizionamenti del centro dell'asse.
           Prima di tutto, introduciamo uno Strumento mai usato prima: Create\Object\Detach (ovvero: Creare\Oggetto\Distaccare). Questo Strumento distacca gruppi di Facce da un Oggetto per creare un nuovo Oggetto. Per distaccare un gruppo di Facce agire come segue:

  • Passare al Livello delle Facce
  • Deselezionare tutte le Facce
  • Selezionare il gruppo di Facce che si intende distaccare. Bisogna essere accurati, qui.
  • Selezionare lo Strumento Create\Object\Detach.
  • Abilitare la modalità di SELezione
  • Cliccare per distaccare le facce selezionate.
  • Dare un nome al nuovo Oggetto.
           L'unica cosa da notare è che quando si distaccano le Facce non bisogna trascinare il mouse per evitare di muovere le facce selezionate dalla loro posizione.

           Usando questo Strumento, distaccare il cofano con il paraurti ed i proiettori anteriori. Poi distaccare tutti i vetri. Infine distaccare il bagagliaio con il paraurti ed i fanali posteriori.
           L'immagine seguente mostra l'Oggetto che si otterrà:


           Ora si dovranno proiettare le Normali di questi Oggetti e poi riunirli di nuovo in un unico Oggetto.
           Disabilitare la modalità SELezione e nascondere tutte le parti distaccate: rimarrà solo la prte centrale del corpo vettura.
           Posizionare il centro dell'asse (nella vista frontale) sulla linea di mezzeria e poi (nella vista laterale) a livello della parte inferiore delle portiere:

           Selezionare lo Strumento Projection ed applicarlo a questo Oggetto, tenendo premuto il tasto SHIFT. Questa operazione (Proiezione+SHIFT) sarà d'ora in poi chiamata "proiettare in 3D".
           Scoprire i vetri e posizionare il centro dell'asse più in basso del corpo vettura e proiettare in 3D le Normali dei vetri:

           Scoprire il frontale ed il posteriore e proiettare in 3D le loro Normali posizionando il centro dell'asse come mostrato in figura:
    and...

           Alla fine, si ottiene un ottimo effetto di riflessione ed una discreta ombreggiatura:

           Sembra che tutte le vetture della Electronic Arts abbiano questo tipo di Normali in Need for Speed 4.


           Questo è uno Strumento simile a Projection ma più efficace.

           Dopo aver proiettato le Normali della vettura completa con lo Strumento Projection si è notato che nel frontale e nel posteriore della vettura i riflessi cromati sono più ampi che al centro:

           Questo accade perché le Normali del frontale e della coda sono quasi parallele e questo causa che solo una piccola area della texture dei riflessi ricada sul forntale e sul posteriore:

           Facendo alcuni esperimenti è stato notato che il miglior effetto sui riflessi cromati si è ottenuto quando le Normali sono come nell'immagine seguente (in verde) :

    ... e le linee rosse mostrano dove dovrebbero essere posizionato il centro dell'asse in modo da far proiettare le Normali in questa maniera. Cone si nota, le posizioni in cui dovrebbe trovarsi il centro dell'asse sarebbero molte. Ma la linea marcata rossa identifica comunque il luogo geometrico dove più o meno questi punti dovrebbero trovarsi. Così, è necessario:

  • Specificare il luogo in cui il centro dell'asse dovrebbe torvarsi durante la proiezione delle Normali.
  • Proiettare le Normali, posizionando il centro dell'asse in uno dei punti identificati di quest'area.
           Specificare il luogo dei punti si esegue crendo un nuovo Oggetto. Questo è chiamato Oggetto Gismo. Di regola, è un Oggetto ellittico. I Vertici dell'Oggetto Gismo sono i punti in cui è situato il centro dell'asse durante la proiezione delle Normali. Allora, l'Oggetto Gismo deve essere molto dettagliato.
           La scelta della posizione del centro dell'asse sull'Oggetto Gismo è effettuata in modo molto semplice: è il Vertice dell'Oggetto Gismo più vicino al Vertice della vettura di cui proiettare la Normale.

           Per effettuare la proiezione delle Normali Gismo della vettura, occorre allora eseguire i seguenti passi:
  • Selezionare lo Strumento Create\Spline\N-Gon (ovvero: Creare\Spline\Poligono Chiuso di N lati) e passare alla vista in pianta Top.
  • Creare un Poligono chiuso molto dettagliato (30-100 passi) che copra l'area rosso chiaro in figura.
           Ma la Spline non è un Oggetto, mentre è necessario un Oggetto per la proiezione Gismo.
           Per creare un Oggetto da una Spline, si potrebbe utilizzare lo Strumento (già noto) Create\Surface\Revolution nella vista frontale, ma in questo caso si è selezionato un altro Strumento, Create\Surface\FillSpline (ovvero: Creare\Superficie\Riempire la Spline) e si è cliccato sulla Spline. Questo Strumento riempie la superficie identificata dalla Spline con Facce, il cui risultato è un Oggetto:

           Riscalarlo orizzontalmente in modo da apparire come nella immagine seguente:

    ... e spostarlo nella parte inferiore delle posrtiere:

    L'Oggetto Gismo è pronto.
  • Nascondere tutti gli altri Oggetti, lasciando visibile solo l'Oggetto Gismo ed il corpo vettura.
  • Selezionare lo Strumento: Surface\Normals\Gismo (ovvero: Superficie\Normali\Metodo Gismo); il corpo vettura verrà colorato in grigio. Significa che questo Oggetto è al momento identificato come Oggetto Gismo. Passare alla vista laterale, zoomare e, tenendo premuto il tasto CTRL, cliccare sull'Oggetto Gismo (l'ellisse). Questo sarà colorato in grigio.
  • Tenendo premuto il tasto SHIFT (per la proiezione in 3D), cliccare sul corpo vettura. Esso vedrà calcolate le Normali Gismo.
  • Eliminare l'Oggetto Gismo, se non più necessario, oppure modificarlo e calcolare nuovamente le Normali Gismo.

           Bene, le Normali Gismo appaiono come calcolate con il metodo Calcolo e Proiezione, ma l'effetto è decisamente migliore, dal momento che è possibile modificare l'Oggetto Gismo per calcolare le Normali come meglio si vuole. Per esempio, l'Oggetto Gismo può essere ruotato leggermente nell vista laterale ed i riflessi cromati appariranno come in figura:


           E' possibile combinare tutti gli Strumenti di calcolo delle Normali, applicarli a parti del corpo vettura a addirittura a piccoli gruppi di Vertici. Tutti gli approcci sono validi per raggiungere un efficace e valido effetto di riflessione e di ombreggiatura.


           Dopo aver creato una accurata mappatura dei riflessi è possibile affinare le ombreggiature. Questo può essere fatto utilizzando lo Strumento (già noto) Surface\Normals\Scaleing. E' possibile ridurre la lunghezza delle Normali per simulare l'ombra sulle superfici incassate o per altri motivi.
           E' possibile anche modificare leggermente la direzione delle normali (leggermente perché altrimenti viene modificata anche la mappatura dei riflessi) con lo Strumento Surface\Normals\Rotation. Per esempio, le Normali sulla parte rialzata del cofano possono essere ruotate (un pò) per simulare la convessità:


           Beh, è bella come un angelo. Il file è QUI.
           Le Normali sono Orientate con il Metodo Gismo, i vetri sono distaccati e proiettati con lo stesso metodo, la bombatura sul cofano è ottenuta avendone ruotato le Normali. Buon divertimento !


  • Indice