Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial
  • Lezione 27 di 51
  • livello principiante
Indice lezioni

Skin per il lato posteriore

Questa lezione spiega come impostare una texture anche per il lato posteriore di un piano, in modo, quindi, da coprire entrambi i lati
Questa lezione spiega come impostare una texture anche per il lato posteriore di un piano, in modo, quindi, da coprire entrambi i lati
Link copiato negli appunti

Vediamo allora come sia possibile associare una texture anche al lato posteriore del nostro piano, in modo da "coprire" entrambe le superfici.

Possiamo decidere di utilizzare la stessa immagine impostata come texture per il lato frontale, in questo caso basta aggiungere al codice dell'esempio precedente il comando

plane.setBackSkin(skin)

Altrimenti possiamo utilizzare due texture, impostandone una sul davanti e una sul retro del piano, in questo modo

Listato 31. Imposta una texture avanti e una dietro

var skin:TextureSkin = new TextureSkin(BitmapData.loadBitmap("petit"));
var bskin:TextureSkin = new TextureSkin(BitmapData.loadBitmap("monalisa"));
plane = new Plane3D(100,100,5,'tri');
plane.setSkin( skin );
plane.setBackSkin( bskin );

Possiamo facilmente intuire come "skin" sia la skin frontale e "bskin" quella posteriore:

Il piano con applicate due diverse skin

Abbiamo un problema: l'immagine frontale è renderizzata come previsto e si adatta perfettamente al piano, mentre quella sul retro sembra considerare solo una parte dell'immagine che viene continuamente ripetuta. Il problema è dovuto al fatto che l'immagine impostata come skin "frontale" viene utilizzata per calcolare come dividere ed applicare l'immagine sul retro. Quindi, viene creata una mappatura tra i punti 3D dell'oggetto e i punti 2D dell'immagine frontale (coordinate UV); la stessa mappatura viene usata per l'immagine posteriore.

Come possiamo vedere però le immagini che abbiamo utilizzato sono di dimensioni diverse (quella posteriore è più grande) pertanto solo alcune piccole parti dell'immagine vengono proiettate sulle facce.

Figura 5. Le due texture hanno dimensioni diverse
Le due texture hanno dimensioni diverse

Per risolvere il problema è sufficiente portare le immagini alla stessa dimensione.

Figura 6. Le due texture con uguale dimensione
Le due texture con uguale dimensione

Una volta impostate le texture ad uguale dimensione, ecco che entrambe le superfici saranno mappate correttamente.

Il piano con le skin corrette

"© Petit Publications 2006" - diritti riservati

Ti consigliamo anche