IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ActionScript 3 Discussion :

Papervision3D gros probleme de rendu


Sujet :

ActionScript 3

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert Avatar de Lorenzo77
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 472
    Par défaut Papervision3D gros probleme de rendu
    salut,

    je suis en phase de test des moteurs 3D pour l'AS3 et j'ai des grosses surprises.
    -déformations des textures
    -gros problemes sur la reconnaissance du z index
    -déformations sur les bord du viewport
    ....

    sur mon dernier test, j'ai crée un plateau d'une table avec 4 cylindre pour représenter les pieds.
    les pieds ne rentrent pas dans le plateau, ils sont juste 1px sous sa surface et pourtant a l'affichage le moteur 3D me fait tout traverser par moment
    'voir le SWF en piece jointe'


    et le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    package {
    	import flash.display.Bitmap;
    	import flash.display.BitmapData;
    	import flash.events.Event;
    	import flash.geom.Point;
    	import flash.geom.Rectangle;
    	import org.papervision3d.materials.BitmapMaterial;
    	import org.papervision3d.materials.utils.MaterialsList;
    	import org.papervision3d.objects.primitives.Cube;
    	import org.papervision3d.objects.primitives.Cylinder;
    	import org.papervision3d.objects.primitives.Plane;
    	import org.papervision3d.view.BasicView;
     
     
    	[SWF(width = "600", height = "400", backgroundColor = "#0", frameRate = "30")]
     
    	/**
    	 * Test des différences entre Sandy3D et Papervision3D
    	 * 
    	 * @author Lorenzo
    	 */
    	public class MainGroupeTable extends BasicView {
     
    		public function MainGroupeTable():void {
    			super(600,400,true);
    			init();
    		}
     
     
    		private var _plateau:Cube;
     
    		[Embed(source='../lib/bois006.jpg')]
    		private static var Bois1:Class;
     
    		[Embed(source='../lib/bois016.jpg')]
    		private static var Bois2:Class;
     
     
    		private function init(e:Event = null):void {
    			removeEventListener(Event.ADDED_TO_STAGE, init);
    			// entry point
     
    			stage.scaleMode = "noBorder";
     
    			var bm:Bitmap = new Bois1();
    			var bm2:Bitmap = new Bois2();
    			var bm3:Bitmap = new Bitmap(new BitmapData(20, 20));
    			bm3.bitmapData.copyPixels(bm2.bitmapData, new Rectangle(0, 0, 20, 20), new Point(0, 0));
    			bm2.bitmapData.dispose();
     
     
    			var materialsList:MaterialsList = new MaterialsList();
    			materialsList.addMaterial(new BitmapMaterial(bm.bitmapData), 'all');
     
     
    			_plateau = new Cube(materialsList, 500, 500, 20);
    			//_plateau.material.doubleSided = true;
    			scene.addChild(_plateau);
     
     
    			var cylinder:Cylinder = new Cylinder(new BitmapMaterial(bm3.bitmapData), 10, 200, 8, 6, -1, false);
    			cylinder.x = 210;
    			cylinder.y = -111;
    			cylinder.z = 210;
    			_plateau.addChild(cylinder);
     
    			cylinder = new Cylinder(new BitmapMaterial(bm3.bitmapData), 10, 200, 8, 6, -1, false);
    			cylinder.x = -210;
    			cylinder.y = -111;
    			cylinder.z = 210;
    			_plateau.addChild(cylinder);
     
    			cylinder = new Cylinder(new BitmapMaterial(bm3.bitmapData), 10, 200, 8, 6, -1, false);
    			cylinder.x = -210;
    			cylinder.y = -111;
    			cylinder.z = -210;
    			_plateau.addChild(cylinder);
     
    			cylinder = new Cylinder(new BitmapMaterial(bm3.bitmapData), 10, 200, 8, 6, -1, false);
    			cylinder.x = 210;
    			cylinder.y = -111;
    			cylinder.z = -210;
    			_plateau.addChild(cylinder);
     
     
    			camera.z = -500;
     
    			startRendering();
    		}
     
    		override protected function onRenderTick(e:Event=null):void {
    			_plateau.localRotationY += 1;
    			_plateau.localRotationX += 1.5;
     
    			super.onRenderTick();
    		}
    	}
     
    }

    j'ai essayé plein de "bidouilles", mettre en doubleSided le plateau, ne pas rendre le haut des pieds, ...etc mais sans améliorations

    quelqu'un sait comment régler ce probleme ?

    merci
    Fichiers attachés Fichiers attachés

  2. #2
    Rédacteur/Modérateur
    Avatar de beekeep
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    2 005
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 2 005
    Par défaut
    Salut,

    t'as essayé Away3D ?

  3. #3
    Membre Expert Avatar de Lorenzo77
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 472
    Par défaut
    non, j'ai testé papervision et sandy, mais je vois pas pourquoi le away corrigerait tous les défauts ?
    il est vraiment au dessus des autres ?

    -------------
    ok, je viens de tester

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [COULEUR + LUMIERE] Probleme de rendu
    Par gamerome dans le forum OpenGL
    Réponses: 3
    Dernier message: 06/07/2005, 18h57
  2. Petite aide pour gros problème : libstdc++
    Par Info-Rital dans le forum Linux
    Réponses: 5
    Dernier message: 30/08/2004, 19h17
  3. gros problemes de texturages...
    Par aguion dans le forum OpenGL
    Réponses: 5
    Dernier message: 23/06/2004, 11h02
  4. Gros problème avec JB8 et appli J2EE
    Par patbier dans le forum JBuilder
    Réponses: 10
    Dernier message: 07/03/2003, 10h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo