Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Superfici e MaterialList

Creare texture dalla combinazioni di più materiali, anche importati da editor esterni
Creare texture dalla combinazioni di più materiali, anche importati da editor esterni
Link copiato negli appunti

Negli esempi di texture mapping fatti fin'ora ci siamo limitati ad applicare un materiale ad un oggetto. Abbiamo utilizzato le classi MaterialsList e Material. Ad ogni oggetto (per le primitive unicamente al cubo) deve essere applicata una lista di materiali anche se vogliamo utilizzare un'unica texture. Infatti al nostro cubo abbiamo sempre assegnato una collezione di oggetti Material.

new MaterialsList({all:texture});

Il parametro all significa che ogni lato dell'oggetto avrà come materiale quello definito in texture.

Ora vediamo come impostare diversi materiali. Tramite l'esportazione di file .DAE possiamo importare direttamente le mappe dei materiali in Flash, ma abbiamo anche la possibilità di gestire i materiali direttamente con Papervision.

Ogni piano di un oggetto può contenere una diversa texture. Ad esempio quando creiamo un cubo abbiamo visto che i vari piani hanno per default assegnati i nomi FRONT, LEFT, RIGHT, etc.

Assegnare materiali alle superfici con Blender

Dopo aver creato il nostro modello in Blender, passiamo in Edit Mode e selezioniamo le facce a cui desideriamo assegnare un nuovo materiale. Nel menù editing sotto Links and materials clicchiamo su new e assign. Scriviamo quindi il nome del materiale in modo da richiamarlo facilmente in Papervision, per esempio scriviamo "MioMateriale".

Figura 6. Blender
Blender

In Papervision

Una volta caricato il file in Papervision possiamo assegnare una texture a MioMateriale diversa dalla texture che utilizzeremo per tutto il resto dell'oggetto.

var thelight:PointLight3D = new PointLight3D(false);

thelight.z = -300;
thelight.x = -300;	

materiale = new FlatShadeMaterial(thelight, 0x0000FF, 0x000000);	

var materiale2 = new FlatShadeMaterial(thelight, 0xFF0000, 0x000000);	

var solido:DisplayObject3D = new Collada("mioOggetto.dae", 
                                         new MaterialsList({
                                             mioMateriale:materiale,
                                             mat01:materiale2
                                             }));

Materiali

Oltre a ai materiali che abbiamo già citato per l'applicazione di Bitmap alle superfici, vale la pena ricordare alcuni dei materiali incontrati, oltre o comunque utili del package org.papervision3d.materials.

ColorMaterial l'abbiamo usata già nel corso della guida, ci permette di stabilire il colore e la trasparenza delle superfici, nonché la possibilità di registrare eventi.

ColorMaterial

public function ColorMaterial( color:Number = 0xFF00FF,
                               alpha:Number = 1,
                               interactive:Boolean = false)

VideoStreamMaterial è una classe è molto interessante, da approfondire per esempio se si vuole sviluppare video player tridimensionale.

VideoStreamMaterial

public function VideoStreamMaterial( video:Video,
                                     stream:NetStream,
                                     precise:Boolean = false)

Altra classe interessante èWireframeMaterial, che ci permette di vedere la struttura del nostro poligono.

WireframeMaterial

public function WireframeMaterial( color:Number = 0xFF00FF,
                                   alpha:Number = 100,
                                   thickness:Number = 0)

Ti consigliamo anche