09-01 Oggetti (Avanzato). Gli Assi Matrice & i Dummy

(Dummy è singolare. Il plurale sarebbe 'dummies'. Utilizzeremmo dummy per entrambe le forme).



Come al solito! La nostra Mascotte è andata a controllare gli assi delle carte da gioco!... :D

Ma gli Assi Matrice (Matrix) sono:

I vettori di riferimento degli oggetti.

Beh, non è che la cosa sia più chiara, adesso! :)

Vediamo allora di vedere man mano 'a cosa servono', più che 'cosa sono'.



Gli assi matrice sono 3, e lo Zio ci fa il favore di metterli colorati.

Come mai? Perché:

Lo spazio di modellazione è identificato specificatamente da vettori generali, che sono colorati, per poterli riconoscere.



I tre assi prendono il nome di X, Y e Z, e in riferimento alla vista 'Front' corrispondono agli assi cartesiani:


Ma questa vista non ha nulla di speciale rispetto alle altre. Inoltre, i 3 assi matrice non hanno nulla a che fare, come abbiamo visto, con l'X-Y-Z in alto, con i quali si dice invece se vogliamo operare su ogni vista, che è a 2D, per X (orizzontale), Y (verticale) o entrambi. -Z non si usa mai!-.



ESERCIZIO 1: Per ognuna delle 6 viste 2D, Front/Back, Top/Bottom e Right/Left, indicate quali sono in orizzontale e in verticale gli assi matrice. Senza aprire lo Zio, ovviamente! Per 'Front' abbiamo visto che in verticale c'è Y(verde) e orizzontale X(rossa).



I dummy invece sono:

Elementi che fanno svolgere agli oggetti determinate funzioni, o che svolgono funzioni specifiche per l'intero modello.

In questa lezione vedremo però solo 'cosa sono' e non 'quali sono'. A cosa servono lo vedremo nella parte dove esamineremo la Gerarchia.



Gli oggetti si creano da 'creazione oggetti base', compresi i dummy.

(ATTENZIONE! Creando una sfera, se si impostano 8 paralleli, ne verranno fatti 9, quindi 1 in più! Indicate quindi sempre un parallelo in meno di quello desiderato!)

O creando le superfici di un oggetto con 'Create/Surface/Grid' e proseguendo con 'Create/Polygon/Fan'. Ma creando gli oggetti base, lo Zio ci fa lo scherzetto di scombinarci gli asse matrice!... :( E cioè:

ZM2 negli oggetti base non posiziona gli assi matrice dell'oggetto in fase con gli assi matrice generale.

La cosa è alquanto antipatica! Perché:

Un oggetto viene posizionato nello spazio 3D di gioco allineando in fase il suo asse matrice con l'asse matrice generale.

Facciamo un esempio. Supponiamo di voler mettere un asse delle ruote:


Dalla vista 'Left' creiamo giustamente un cilindro. Ma guardate un po':


L'asse matrice del cilindro è ruotato dall'alto di 90° in senso orario...

Quindi, nel gioco, il nostro asse anteriore risulterebbe messo in verticale!



ESERCIZIO 2: Create tutti gli oggetti base, dalla vista 'Top'. Quali sono gli oggetti che lo Zio crea con il matrix errato? Ruotati male come?



***DISPLAY***

Vediamo allora il comando 'Display'. Non si sa perché nonno Oleg, ideatore dello Zio, abbia chiamato così questo comando, dato che non ci fa vedere un bel nulla, e serve sprattutto per la gestione del 'Matrix'... (Da cui si deduce che nonno Oleg non è... 'l'eletto'!!!)

Due quindi sono le operazioni utili:

a) Prendere un oggetto e ruotarne il matrix affinché risulti in fase con il matrix. generale.

b) Prendere un oggetto e spostarne il matrix affinché coincida esattamente con il matrix di un dummy.

La nostra Mascotte ha un sussulto, ma anche gli oggetti 'dummy', come vedremo, hanno il loro bel matrix, che, se non gestito bene, procurano grosso modo gli stessi guai che il pelide Achille inflisse agli Achei! :)



Andiamo per ordine. Ci occorre un oggetto che ci sia sempre, e che abbia sempre il matrix in fase con quello genere... Trovato! Il 'cubo blu', ovvero il dummy generale. Quindi:


'Dispay/Local Axes.../Orientation/Copy', ci consente quindi di riallineare un matrix con il matrix generale.



E' necessario anche che un oggetto e un dummy abbiano il matrix esattamente nello stesso posto. Per esempio nel caso di un cofano, che dovrà essere anche apribile:


Supponiamo che l'asse matrice del cofano non coincida con quello del suo dummy. Allora:


'Dispay/Local Axes.../Offset/Copy', ci permette di far coincidere un matrix con il suo dummy.



Ma questa volta ci è andata bene! Lo Zio infatti non si è prodotto in uno dei suoi bug! :( Dopo tale funzione, potrebbe modificare le normali, i vettori della luce, e, in genere, ciò accade per i modelli di NFS. In tal caso occorre ricalcolare le normali. Tuttavia, le facce degli oggetti NFS sono staccate, e prima bisognerà operare un 'Modify/Submesh/Weld' per parti di superfici omogenee... La nostra Mascotte è corsa a nascondersi, e stavolta non ha tutti i torti... Ma per fortuna, c'è un altro modo, meno preciso, ma privo di rischi.



***MODIFY/MOVE***

E' possibile spostare un matrix, senza spostare anche l'oggetto. Ciò si realizza con 'Modify/Move', spuntando il suo tag 'Move Pivot only'. (Il 'Pivot' sarebbe il matrix...)

(Si noti che si può spostare un oggetto col suo matrix, spostare solo il matrix, ma non solo l'oggetto... Come fare? In modalità vertice, selezionando e spostando tutti i suoi vertici: L'oggetto verrà spostato, ma il suo matrix no).

Sarà bene spostare il matrix per X-Y da una vista 2D, e solo X o Y da un'altra, quando più possibile coincidente col centro del suo dummy:



Anche un dummy si può spostare, naturalmente, ma a differenza di un oggetto 3D, il dummy è un tutt'uno col suo matrix... Pertanto:

Un dummy non va mai spostato con 'Move Pivot only'.



***MODIFY/ROTATE***

L'unico modo per ruotare un matrix, invece, è la funzione 'Modify/Rotate', spuntando solo il tag 'Rotate Matrix'. (Il tag 'Base to Pivot' è riferito al centro generale dello spazio 3D di riferimento, e non ad un matrix, andando quindi a fare confusione con il 'Pivot' di 'Move Pivot only', che invece è il matrix di un oggetto...)

Perché bisognerebbe ruotare un matrix di un oggetto -e di un dummy-, dato che tutto deve essere in fase col matrix generale?... Perché:

Ci sono degli oggetti particolari, legati o meno ad un dummy, che non hanno il matrix in fase col matrix generale.

Per esempio, le portiere. Si può avere non solo l'apertura normale d'esse, ma anche a forbice, ad ali di gabbiano e il monoportellone in verticale.

Per ruotare il matrix di un oggetto 3D:


Occorre sempre specificare X-Y per effettuare la rotazione, e dalla vista 2D dove l'asse di rotazione è perpendicolare al piano di rotazione.

Per la rotazione del matrix di un dummy, a differenza di 'Move', si procede allo stesso modo. Il dummy ruoterà anche nella sua forma, come farebbe un oggetto 3D:


Si potrebbe utilizzare anche la centratura di rotazione 'Base to Pivot', ma senza alcuna utilità pratica.



Nella prossima lezione vedremo:

Vertici & Facce (Avanzato). Il Prelight.



SOLUZIONE 1:




SOLUZIONE 2:





By AUTOMAN