Aide - Recherche - Membres - Calendrier
Version complète : [PV3D 2.0] Probleme d'affichage sur les faces d'un box
Centre de Formation Flash - Forums Adobe Flash > Rich media et intégration > Intégration 3D
raznow
salut,
je suis nouveau en papervision, et j'essaie de faire des boites dont une seule face affiche des images,
le problème est que quand on tourne la caméra certains triangles sont perdus !!
j'ai pensé que c'était un problème de perspective j'ai donc essayé avec plusieurs paramètres de la caméra mais rien...

voici mon code

Action Script


import org.papervision3d.scenes.*;
import org.papervision3d.objects.*;
import org.papervision3d.objects.primitives.*;
import org.papervision3d.materials.*;
import org.papervision3d.materials.utils.*;
import org.papervision3d.cameras.*;
import org.papervision3d.render.*;
import org.papervision3d.view.*;
//
// scene
var scene:Scene3D = new Scene3D();
// camera
var camera:Camera3D = new Camera3D();
camera.z = 1000;
camera.zoom = 10;
camera.focus = 100;
// viewport
var viewport:Viewport3D = new Viewport3D(stage.stageWidth, stage.stageHeight, true, true,false,false);
addChild(viewport);
viewport.buttonMode = true;
// renderer
var renderer:BasicRenderEngine = new BasicRenderEngine();
// box params
var mat = 0xFF0000;
var col = 0x999999;
var w = 500;
var h = 200;
var d = 50;
//materials
var color:ColorMaterial = new ColorMaterial(col);
color.oneSide = false;
var material:BitmapFileMaterial = new BitmapFileMaterial("http://www.google.com/intl/fr_ALL/images/logo.gif");
material.oneSide = true;
material.interactive = true;
material.smooth = true;
var ml:MaterialsList = new MaterialsList();
ml.addMaterial(color, "all");
ml.addMaterial(material, "front");
//Make box
var box:Cube = new Cube(ml, w, d, h);//,1,1,1,6
// Include in scene
scene.addChild(box);
//
var orbit_target = new DisplayObject3D();
camera.lookAt(orbit_target);
function onEnterFrame( event :Event ):void {
camera.x += (stage.mouseX-stage.stageWidth/2-camera.x)/10;
camera.y += (-stage.mouseY+stage.stageHeight/2-camera.y)/10;
camera.lookAt(orbit_target);
// Render
renderer.renderScene(scene, camera, viewport);
}
addEventListener( Event.ENTER_FRAME, onEnterFrame );


j'ai ensuite testé avec les paramètres du Box et là je n'arrive à avoir un bon résultat uniquement quand je met la profondeur " var d " à une valeur supérieure ou égale à 200.
le problème c'est que j'ai besoin que ces boites soit peut profondes (max 50).

si quelqu'un peut m'aider je lui en serait très reconnaissant

Merci
raznow
ça y est j'ai trouvé icon_mrgreen.gif

le problème vient de "color.oneSide = false;",
il suffisait de le mettre sur "true"
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'informations, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2009 Invision Power Services, Inc.