FIVe3D: effetti speciali su un cubo! In attesa di Flash 10
venerdì 16 maggio, 2008Molto probabilmente, quando uscirà la nuova versione di Adobe Flash, librerie 3D a "basso livello" come FIVe3D faranno una brutta fine! Tuttavia, prima di "cestinarle", ecco un esempio di quello che è possibile realizzare (con l'ultima release 2.1):
Il codice della demo qui sopra è abbastanza articolato, quindi non lo propongo integralmente online. Inserisco, comunque, alcune parti di codice interessanti.
Aggiornamento: per il sorgente clicca qui
Un contenitore 3D
La prima cosa interessante è la possibilità di creare (come accade anche con Papervision3D e nelle normali operazioni con i MovieClip in Flash) dei contenitori di oggetti 3D. Per realizzare il cubo, infatti, ho creato un oggetto contenitore __cube e a questo ho aggiunto le faccie del cubo!
-
/*
-
** @name : initCube()
-
*/
-
protected function initCube():void {
-
__cube = new Sprite3D();
-
__cube.rotationX = 40;
-
__cube.rotationY = -40;
-
__cube.mouseChildren = false;
-
__scene.addChild(__cube);
-
createFace(0, 0, -150, 0, 0, 0);
-
createFace(150, 0, 0, 0, -90, 0);
-
createFace(0, 0, 150, 0, 180, 0);
-
createFace(-150, 0, 0, 0, 90, 0);
-
createFace(0, -150, 0, -90, 0, 0);
-
createFace(0, 150, 0, 90, 0, 0);
-
}
__cube viene aggiunto alla scena __scene, e all'interno di __cube aggiungo le "facce":
-
/*
-
** @name : createFace()
-
*/
-
var face:Sprite3D = new Sprite3D();
-
face.graphics3D.beginFill(0xff0000);
-
face.graphics3D.drawRect(-150, -150, 300, 300);
-
face.graphics3D.endFill();
-
face.x = x;
-
face.y = y;
-
face.z = z;
-
face.rotationX = rotationx;
-
face.rotationY = rotationy;
-
face.rotationZ = rotationz;
-
face.singleSided = true;
-
face.flatShaded = true;
-
__cube.addChild(face);
-
}
La scena, ovviamente, è quella classica, con l'aggiunta dell'uso del parametro ambientLightIntensity:
-
/*
-
** @name : initScene()
-
*/
-
protected function initScene():void {
-
__scene = new Scene3D();
-
__scene.x = stage.stageWidth / 2;
-
__scene.y = stage.stageHeight / 2;
-
__scene.viewDistance = 400;
-
__scene.ambientLightIntensity = 1;
-
addChild(__scene);
-
}



















groggit.com ha detto:
FIVe3D: effetti speciali su un cubo! In attesa di Flash 10…
Molto probabilmente, quando uscirà la nuova versione di Adobe Flash, librerie 3D a “basso livello” come FIVe3D faranno una brutta fine! Tuttavia, prima di “cestinarle”, ecco un esempio di quello che è possibile realizzare (con l’ultima release 2…
xos ha detto:
Salve a tutti,
Avete visto questa incredibile 3d engine per flash player ?
http://www.sophie3d.com