- Thu
- 15
- Jan
- 09
Esportare modelli poligonali con AS3 Geom Class Exporter
Di in 3D, Actionscript, Sandy 3D engine Controls: +-close
Utilizziamo modelli poligonali realizzati con 3DStudio Max in Flash
Come abbiamo visto in precedenza, per il linguaggio Actionscript sono stati creati diversi motori per la gestione della grafica poligonale, quello su cui ci siamo soffermati è Sandy 3D Engine.
Sandy 3D Engine offre la possibilità di utilizzare all’interno delle applicazioni dei modelli poligonali realizzati con applicazioni esterne. Basicamente esistono due metodi per ottenere questo risultato:
- utilizzare direttamente il formato dell’applicazione esterna
- esportare il modello poligonale in una classe AS3 che successivamente istanzieremo.
In questo tutorial prenderemo in considerazione la seconda di queste possibilità, ovvero useremo un plugin per 3D Studio Max che esporterà il modello poligonale, l’AS3 Geom Class Exporter, plugin sviluppato da Seraf aka Jerome Birembaut, che potete scaricare da questo link. Da notare che il plugin in questione è compatibile anche con Papervision e Away3D.
Installare AS3 Geom Class Exporter
Per installare lo script estraete il contenuto dell’archivio, quindi da 3DStudio selezionare la tab Utilities, selezionare il pannello maxscript e cliccare il bottone “Run Script”. Selezionate lo script estratto, quindi il pannello “AS3 geom Exporter” sarà disponibile.
Le opzioni dello script sono le seguenti
- Package : il nome del package della classe esportata, lasciatelo pure vuoto
- ClassName : il nome della classe esportata
- Engine : il 3D engine che volete usare
- Scale : per scalare l’oggetto 3D
- Export Vertex Normal
- Swap face normal : per alcuni oggetti può capitare di avere le facce invertite. Se succede utilizzare questa opzione
- Rounded Vertex coord
Utilizzare l’oggetto 3D
Una volta esportato l’oggetto potremo finalmente utilizzarlo all’interno della nostra applicazione istanziandolo. Potete scaricare qui di seguito il risultato di una esportazione di un modello di una navicella spaziale ispirata all’Arwing ( Starfox ) creata dal sottoscritto:
A questo punto non ci resta che creare la classe Point of Entry comprensiva del codice che serve per inizializzare il motore 3D, che risulterà così:
package
{
import flash.display.Sprite;
import flash.events.*;
import sandy.core.Scene3D;
import sandy.core.scenegraph.*;
public class MainClass extends Sprite
{
private var player:Arwing;
private var scene:Scene3D;
private var camera:Camera3D;
private var group:Group;
public function MainClass(){
group = new Group("root");
camera = new Camera3D( 550, 400 );
scene = new Scene3D( "myScene", this, camera, group);
player = new Arwing("player");
scene.root.addChild(player);
addEventListener( Event.ENTER_FRAME, enterFrameHandler );
}
private function enterFrameHandler( event : Event ):void {
scene.render();
player.rotateX -=2;
player.rotateY -=4;
}
}
}
Il risultato ottenuto sarà il seguente:
No related posts.
Related posts brought to you by Yet Another Related Posts Plugin.











