Blog Papervision3D

Blog Français sur Papervision3D

Les Cubes sous Papervision

Posté par Ocelyn le 23 mai, 2008
Publié dans Tutoriaux

15 minutes de tutoriel pour tout comprendre des cubes, ça vous tente ?

Un tutoriel consacré aux cubes pour comprendre comment les créer et les différentes façon de les texturer, un bon complément au précédent tutoriel qui vous permettra de créer un menu dans le style des cubes en 3D que l’on voit sous Linux :)

Ps : Je suis à la recherche de sponsors afin de m’aider à financer l’hébergement pour pouvoir proposer des vidéos de meilleurs qualités.

Les pré-requis :

-Avoir fait et compris l’ensemble des précédents tutoriels.

Get the Flash Player to see this player.

Code source à venir prochainement…

15 commentaires dans ce post, pour l'instant.

Suivre ce post par RSS ou poser un trackback
mygif
65. vincent dit,
24 mai, 2008 à 12:06

Super tutoriel ! Le cube, je le reconnais. Il m’a été présenté lors de portes ouvertes à St Raphaël. Super travail ! Félicitation pour le site http://www.commerce-equitable-fr.com, frappant de qualité.

mygif
82. benbill dit,
25 juin, 2008 à 15:45

Merci pour tous ces tutos qui m’ont bien servit pour débuter.

Même si je ne travaille pas dans flash mais dans flex la syntaxe reste quasi identique.
Encore merci et bonne continuation ;)

mygif
88. numayos dit,
4 juillet, 2008 à 14:27

Bonjour,

Déjà merci et bravo pour tous ces tutos sur Papervision.

J’ai un problème avec la gestion du clique sur les face du cube, flash me signale une erreur sur le paramètre de la function objectPressIndex —> “1046: Ce type est introuvable ou n’est pas une constante de compilation : MouseEvent.”

Je ne comprend pas car dans le tuto c’est exactement écrit pareil .

Si qqun peut m’aider merci.

mygif
89. numayos dit,
4 juillet, 2008 à 14:35

Ouupsss dsl j’ai trouvé finalement j’avais juste oublié d’importer une librairie.

seulement maintenant ou que je clique ça déclenche l’événement .zut

bon je vais cherché

Merci quand meme

mygif
92. Fabu dit,
5 juillet, 2008 à 16:29

A quand le code source de ce magnifique tutoriel?
Bonne continuation!

mygif
104. noStyle dit,
13 juillet, 2008 à 23:14

Bravo pour tout ces tutoriels d’une grande clareté et carrément indispensables!

Fini de baver devant les sites Papervision en se demandant comment c’est foutu, place à l’action…

Y aura-t-il d’autres tuto de prévus (import d’objet 3D depuis des softs 3D / interaction poussée objets-souris…)? Ce serait cool :-)

Merci encore

mygif
105. Ocelyn dit,
14 juillet, 2008 à 8:30

Oui, bien sur, il y a d’autre tutoriel prévu, mais c’est très difficile de trouver le temps de les réaliser :(

Ps: Jolie blog noStyle.

mygif
106. noStyle dit,
14 juillet, 2008 à 14:41

merci Ocelyn, j’essaie d’apprendre Papervision pour faire un site galerie photo et par le fait maitriser le “logiciel”, tes tutos me sont donc d’une grande aide et j’imagine que cela doit prendre un paquet de temps à faire.

Par contre j’ai une petite question. Sur d’autres tutos venant d’autres sites j’ai vu à plusieurs reprises les auteurs créer un “container” rassemblant l’ensemble des éléments 3D appelés.
J’avoue ne pas avoir poussé plus loin pour le moment et ne pas savoir encore si ce container est vraiment utile ou pas mais pourquoi n’utilises tu pas cette façon de construire ton anim?

mygif
139. mimi dit,
26 août, 2008 à 23:09

Bonsoir,

Je cherche une solution à mon pb. J’ai utilisé le composant 1.5 pour tester papervison mais mon objet n’apparait pas dans mon preview.
Avec le composant 1.0 il apparait bien mais du coup le parametre SceneRotation n’apparrait pas!
Est ce un bugdu composant?
Merci de m’apporter une réponse.

mygif
140. Ocelyn dit,
27 août, 2008 à 6:45

Si par composant tu entends librairie, c’est que tu n’a pas installé la branche pv3d 2.0 (Greath White)…

Un peu de recherche de ta part sur ce blog aurait répondu à ta question.

mygif
183. Nore dit,
6 novembre, 2008 à 10:31

zarb, tout fait gentiment comme le tuto,
les images sont ok mais l’action ne se déclenche pas un brin. Pas d’erreur rien… une idée?

Voici le code complet :

package {

//Importation des librairies nécessaires à l’application
import flash.display.Sprite;
import flash.display.StageQuality;
import flash.events.Event;
import flash.events.MouseEvent;

import org.papervision3d.render.BasicRenderEngine;
import org.papervision3d.scenes.Scene3D;
import org.papervision3d.view.*;
import org.papervision3d.cameras.*;
import org.papervision3d.events.*;

import org.papervision3d.materials.*;
import org.papervision3d.materials.utils.MaterialsList;
import org.papervision3d.objects.primitives.Cube;

public class ppvCube extends Sprite {

//Définition des variables nécessaires.
private var viewport:Viewport3D;
private var scene:Scene3D;
private var camera:Camera3D;
private var cube:Cube;
private var renderer:BasicRenderEngine;
private var _materials:MaterialsList;

private var cubeFront:MovieMaterial;
private var newClipFront:ClipFront;

private var rot:Number;

public function ppvCube() {
//Fonctions nécessaire à l’initialisation du projet
init();
}

private function init():void {
//Les fonctions nécessaires à l’initialisation de Papervision
initPapervision();
initMaterials();
initObjects();
initListener();
}

private function initPapervision():void {

//Création du viewport
viewport = new Viewport3D();

//Ajout du viewport à la scène si vous l’oubliez l’application marchera mais n’apparaitra pas
addChild( viewport );

//Création de la scene
scene = new Scene3D();

//Création de la caméra
camera = new Camera3D();

//Création du moteur de rendu
renderer = new BasicRenderEngine();

renderer.renderScene( scene, camera, viewport );
}

private function initMaterials():void{
_materials = new MaterialsList();

newClipFront = new ClipFront();
cubeFront = new MovieMaterial(newClipFront);
cubeFront.interactive = true;
cubeFront.smooth = true;

_materials.addMaterial(new ColorMaterial(0×550000), ‘top’);
_materials.addMaterial(new ColorMaterial(0×555500), ‘bottom’);
_materials.addMaterial(cubeFront, ‘front’);
_materials.addMaterial(cubeFront, ‘back’);
_materials.addMaterial(new ColorMaterial(0×000055), ‘left’);
_materials.addMaterial(new ColorMaterial(0×000000), ‘right’);
}

private function initObjects():void {
camera.focus = 100;
camera.zoom = 3;
rot = 1;

cube = new Cube(_materials, 800, 800, 800, 8, 8, 8, 0, 0);
scene.addChild( cube );
}

private function initListener():void{
// InteractiveScene3DEvent.OBJECT_PRESS
newClipFront.addEventListener(MouseEvent.CLICK,objectPress);
addEventListener(Event.ENTER_FRAME, onEnterFrame);
}

private function objectPress(e:MouseEvent):void{
trace(”face cliquée…”);
rot = rot*-1;
}

private function onEnterFrame (e:Event):void{
renderer.renderScene ( scene, camera, viewport );
cube.rotationY += rot;
}
}
}

mygif
184. Ocelyn dit,
6 novembre, 2008 à 11:20

Si j’ai bien compris, le cube s’affiche mais quand tu clique il ne se passe rien ?

Regarde avec :

viewport = new Viewport3D(1024, 700, true, true);

mygif
185. Nore dit,
6 novembre, 2008 à 11:49

Nickel ça fonctionne à présent.

ok je vois qu’on a new Viewport3D(vpWidth, vpHeight, bool, bool);

à quoi correspondent les deux flags booléens de la fin ?

mygif
186. Nore dit,
6 novembre, 2008 à 11:54

c’est bon, j’ai trouvé de la bonne doc :
Viewport3D(viewportWidth:Number = 640, viewportHeight:Number = 480, autoScaleToStage:Boolean = false, interactive:Boolean = false, autoClipping:Boolean = true, autoCulling:Boolean = true)

http://www.flashbookmarks.com/PV3D-GreatWhite-DOC/

Ocelyn tu devrais le mettre en lien sur site, ça rendrais service à pas mal de tes visiteurs ;}

mygif
203. Zen dit,
4 janvier, 2009 à 14:26

Bonjour bravo pour le tutoriel comme toujours
J’ai juste un petit bug:
En fait quand je crée mon cube tout fonctionne
mais des que j’applique un “Tweener” camera au lieu de “camera.zoom” je me retrouve avec une déformation visuelle du cube.
J’ai l’impression que la lentille à subit aussi une déformation (sa m’énerve ^^ )
Bien à vous

Laisser un commentaire

Currently browsing Les Cubes sous Papervision

 Pseudo(*requis)

 Email (*privée)

 Site internet (*optionnel)