En exclusivité sur papervision3d-fr.com, un tutoriel vidéo dédié à Alternativa3d, c’est une première Française, voir mondiale, j’vous le dis ma bonne dame !
Les pré-requis :
Télécharger et installer : Flash Player 10
Vous inscrire puis télécharger la libraire Alternativa3D ici.
Télécharger les fichiers utilisés dans ce tutoriel ici.
Et de lancer la vidéo (Exemple sous Windows)
Attention ! Il semblerait que la propriété setMaterialToAllSurfaces(maTexture); ne soit plus d’actualité depuis la date de diffusion du tutoriel, veuillez utiliser la propriété cloneMaterialToAllSurfaces comme ceci :
“geosphere.cloneMaterialToAllSurfaces(terreTextureMaterial);”
Merci à Fab pour m’avoir remonté l’erreur
-
package {
-
import alternativa.engine3d.controllers.CameraController;
-
import alternativa.engine3d.core.Camera3D;
-
import alternativa.engine3d.core.Object3D;
-
import alternativa.engine3d.core.Scene3D;
-
import alternativa.engine3d.display.View;
-
import alternativa.engine3d.materials.WireMaterial;
-
import alternativa.utils.FPS;
-
-
import alternativa.engine3d.primitives.GeoSphere;
-
import alternativa.engine3d.materials.TextureMaterial;
-
import alternativa.types.Texture;
-
-
import flash.display.Sprite;
-
import flash.display.StageAlign;
-
import flash.display.StageScaleMode;
-
import flash.events.Event;
-
-
public class HelloAlternativa3D extends Sprite {
-
-
private var scene:Scene3D;
-
private var view:View;
-
private var camera:Camera3D;
-
private var cameraController:CameraController;
-
-
private var geosphere:GeoSphere;
-
private var terreTexture:Texture;
-
private var terreTextureMaterial:TextureMaterial;
-
-
public function HelloAlternativa3D() {
-
addEventListener(Event.ADDED_TO_STAGE, init);
-
}
-
-
public function init(e:Event): void {
-
removeEventListener(Event.ADDED_TO_STAGE, init);
-
-
stage.scaleMode = StageScaleMode.NO_SCALE;
-
stage.align = StageAlign.TOP_LEFT;
-
-
// Creating scene
-
scene = new Scene3D();
-
scene.root = new Object3D();
-
-
//Textures
-
terreTexture = new Texture(new TerreMap(100,100), "terre");
-
terreTextureMaterial = new TextureMaterial(terreTexture, 1, false);
-
-
//geoSphere
-
geosphere = new GeoSphere(60, 6);
-
geosphere.setMaterialToAllSurfaces(terreTextureMaterial);
-
scene.root.addChild(geosphere);
-
//
-
-
// Adding camera and view
-
camera = new Camera3D();
-
camera.x = 100;
-
camera.y = -150;
-
camera.z = 100;
-
scene.root.addChild(camera);
-
-
view = new View();
-
addChild(view);
-
view.camera = camera;
-
-
// Connecting camera controller
-
cameraController = new CameraController(stage);
-
cameraController.camera = camera;
-
cameraController.setDefaultBindings();
-
cameraController.checkCollisions = true;
-
cameraController.collisionRadius = 20;
-
cameraController.lookAt(geosphere.coords);
-
cameraController.controlsEnabled = true;
-
-
// FPS display launch
-
FPS.init(stage);
-
-
stage.addEventListener(Event.RESIZE, onResize);
-
stage.addEventListener(Event.ENTER_FRAME, onEnterFrameMe);
-
onResize(null);
-
}
-
-
private function onResize(e:Event):void {
-
view.width = stage.stageWidth;
-
view.height = stage.stageHeight;
-
}
-
-
private function onEnterFrameMe(e:Event):void {
-
// User input processing
-
cameraController.processInput();
-
// Scene calculating
-
scene.calculate();
-
-
}
-
}
-
}





Merci pour ce tutoriel,
mais attention, il est un peu chiant a entendre, ça avance lentement.
Bonne continuation.