Tutoriel pour apprendre à ajouter une texture à une Plane grâce à une image et animer la Plane. (Code source sous la vidéo)
Get the Flash Player to see this player.
-
package
-
{
-
import flash.display.Sprite;
-
import flash.events.Event;
-
import org.papervision3d.cameras.FreeCamera3D;
-
import org.papervision3d.render.BasicRenderEngine;
-
import org.papervision3d.scenes.Scene3D;
-
import org.papervision3d.view.Viewport3D;
-
import org.papervision3d.objects.primitives.*;
-
import org.papervision3d.materials.*;
-
-
public class Main extends Sprite
-
{
-
-
private var viewport:Viewport3D;
-
private var scene:Scene3D;
-
private var camera:FreeCamera3D;
-
private var renderer:BasicRenderEngine;
-
private var plane:Plane;
-
private var material:BitmapFileMaterial;
-
-
public function Main(){
-
init();
-
}
-
-
private function init():void{
-
-
initPapervision();
-
initMaterials();
-
initObjects();
-
-
}
-
-
private function initPapervision():void
-
{
-
-
viewport = new Viewport3D();
-
addChild( viewport );
-
-
scene = new Scene3D();
-
-
camera = new FreeCamera3D;
-
-
renderer = new BasicRenderEngine;
-
-
}
-
-
private function initMaterials():void{
-
material = new BitmapFileMaterial("logo.jpg");
-
material.doubleSided = true;
-
}
-
-
private function initObjects():void{
-
plane = new Plane( material, 127, 128, 8, 8 );
-
scene.addChild( plane );
-
addEventListener(Event.ENTER_FRAME, onEnterFrame);
-
}
-
-
private function onEnterFrame (e:Event):void{
-
renderer.renderScene ( scene, camera, viewport );
-
//Plane.x += (-)X; Déplacer une Plane vers la droite ou gauche.
-
//Plane.y += (-)X; Déplacer une Plane vers le haut ou le bas.
-
//Plane.z += (-)X; Faire avancer ou reculer la plane, par rapport à la caméra.
-
//Plane.rotationX += (-)X; Faire tourner la Plane vers la haut.
-
//Plane.rotationX += (-)X; Faire tourner la Plane par le coté;
-
//Plane.rotationX += (-)X; Faire tourner la Plane en diagonale;
-
//Plane.pitch( (-)X ); Pareil que rotationX.
-
//Plane.yaw( (-)X ); Pareil que rotationY.
-
//Plane.roll( (-)X ); Pareil que rotationZ.
-
plane.rotationZ += 4;
-
}
-
-
}
-
}
Tutoriel réalisé grâce à l’aimable accord de John Lindquist, une partie du code source lui appartient !





Petite correction, l’évenement EnterFrame n’est pas joué toutes les secondes. Il dépend du framerate de ton animation.
De base, le framerate est à 12, ce qui signifie que l’évenement EnterFrame est éxécutée 12 fois par seconde. Il vaut mieux le mettre à 25 pour que l’animation paraisse fluide pour l’oeil.