Papervision3D: BasicView

Papervision3D 2.0 (GreatWhite) è in continuo sviluppo e sono molte le funzione che quasi settimanalmente vengono aggiunte. Ad aprile è stato inaugurato il blog dedicato agli sviluppatori (http://dev.papervision3d.org/), tuttavia, la release 2.0, non è ancora stata rilasciata ufficialemente è spesso difficile carpirne le vere potenzialità. Una delle recenti novità introdotte, comunque, è il nuovo oggetto BasicView che crea un’ambiente 3D con pochissime righe di codice. Basta infatti creare questo oggetto per avere a disposizione scena, viewport e camera in un colpo solo.

Normalmente si dovevano creare manualmente gli oggetti base per rendere una scena:

1
2
3
4
5
6
7
8
9
10
11
/*
** @name        : initPapervision()
** @description : esempio di inizializzazione di Papervision3D prima di GreatWhite
*/

protected function initPapervision():void {
    viewport         = new Viewport3D();
    addChild( viewport );
    scene            = new Scene3D();
    camera           = new Camera3D();
    renderer         = new BasicRenderEngine();
}

Adesso basta usare:

1
2
3
4
5
6
7
8
/*
** @name        : initPapervision()
** @description : esempio di inizializzazione di Papervision3D con GreatWhite
*/

protected function initPapervision():void {
    bv = new BasicView(640, 480, false, true);
    addChild( bv);
}

Dalla BasciView è possibile accedere a tutti gli oggetti che prima venivano creati manualmente, ad esempio:

1
2
3
4
5
6
7
8
...
bv.camera.zoom = 2;
...
bv.scene.addChild(photo1);
...
bv.cameraAsCamera3D.target = mytarget;
...
bv.singleRender();