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 :

texture sur un cube en pvd3d


Sujet :

ActionScript 3

  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2008
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 137
    Par défaut texture sur un cube en pvd3d
    Hello à tous,

    je viens de finir un cube en paper cependant à la publication ma texture "ondule" lors de la rotation .

    Si vous avez des avis merci par avance

  2. #2
    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
    j'ai pas ce probleme avec papervision3D, comment tu rajoutes l'image (le code) ?


    ------
    je crois que j'ai compris ton erreur, tu dois faire tourner la caméra autour de l'objet plutôt que d'appliquer la rotation a ton cube !
    gaffe aussi a ne pas coller un bitmap sur une Shape/Sprite que tu utilises pour faire les faces
    Fichiers attachés Fichiers attachés

  3. #3
    Membre confirmé
    Inscrit en
    Octobre 2008
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 137
    Par défaut
    Les images je passe par un bitmapasset en faite car j'ai besoin d'avoir tout integrer dans le swf.

    Cependant j'ai le même effet avec une rotation du cube

    voila 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
     
    package {
     
     
    	import flash.events.Event;
    	import flash.display.BitmapData;
     
    	import org.papervision3d.materials.BitmapAssetMaterial;
    	import org.papervision3d.materials.utils.MaterialsList;
    	import org.papervision3d.objects.DisplayObject3D;
    	import org.papervision3d.objects.primitives.Cube;
    	import org.papervision3d.view.BasicView;
     
    	public class Main extends BasicView
    	{
    		private var cube:Cube;
    		private var materialList:MaterialsList;
    		private var frontMat:BitmapAssetMaterial;
    		private var rightMat:BitmapAssetMaterial;
    		private var leftMat:BitmapAssetMaterial;
    		private var backMat:BitmapAssetMaterial;
     
    		public function Main()
    		{	
    			super(stage.stageWidth,stage.stageHeight,true,true);
     
    			stage.frameRate = 40;
     
    			init();
    			startRendering();
    		}
     
    		private function init():void
    		{	
    			//on definit la texture 
    			frontMat = new BitmapAssetMaterial("test",false);
    			frontMat.smooth = true;
    			rightMat = new BitmapAssetMaterial("test",false);
    			rightMat.smooth = true;
    			leftMat = new BitmapAssetMaterial("test",false);
    			leftMat.smooth = true;
    			backMat = new BitmapAssetMaterial("test",false);
    			backMat.smooth = true;
     
    			materialList = new MaterialsList();
    			materialList.addMaterial(frontMat,"front");
    			materialList.addMaterial(rightMat,"right");
    			materialList.addMaterial(leftMat,"left");
    			materialList.addMaterial(backMat,"back");
     
    			//cube = new Cube(materialsList,320,320,320);    
    			cube = new Cube(materialList);
    			scene.addChild(cube); 
     
    			camera.z = -900;
    		}
     
     
    		override protected function onRenderTick(e:Event=null):void
    		{	
    			super.onRenderTick();
    			//cube.yaw(0.3);
    		cube.rotationY+=0.5;
    		}
    }
    }

  4. #4
    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
    voici ma version :
    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
    package {
    	import flash.display.Bitmap;
    	import flash.events.Event;
    	import org.papervision3d.materials.BitmapMaterial;
    	import org.papervision3d.materials.utils.MaterialsList;
    	import org.papervision3d.objects.primitives.Cube;
    	import org.papervision3d.view.BasicView;
     
     
    	[SWF(width = "600", height = "400", backgroundColor = "#006699", frameRate = "30")]
     
     
    	/**
    	 * ...
    	 * @author ...
    	 */
    	public class MainCubeMaterialImage extends BasicView {
     
    		public function MainCubeMaterialImage():void {
    			super(600,400,true);
    			init();
    		}
     
    		[Embed(source = '../lib/img1.png')]
    		private static const Img:Class;
     
    		private var _forme3D:Cube;
     
     
    		private function init(e:Event = null):void {
    			removeEventListener(Event.ADDED_TO_STAGE, init);
    			// entry point
     
    			stage.scaleMode = "noScale";
     
    			var bitmap:Bitmap = new Img();
     
    			var materialsList:MaterialsList = new MaterialsList();
    			materialsList.addMaterial(new BitmapMaterial(bitmap.bitmapData, false), 'all');
     
    			_forme3D = new Cube(materialsList, 500, 500, 500, 10, 10, 10);
    			scene.addChild(_forme3D);
     
    			startRendering();
    		}
     
    		override protected function onRenderTick(e:Event=null):void {
    			_forme3D.localRotationY +=1;
    			super.onRenderTick();
    		}
    	}
    }

  5. #5
    Membre confirmé
    Inscrit en
    Octobre 2008
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 137
    Par défaut
    merci pour ta réponse !

    j'ai cependant une colle pour toi si je veux habiller mon cube avec 4 face au motif différent je procède comment ?

    car la balise embed est unique non ?

  6. #6
    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
    embed n'est pas lié a papervision mais a flash !
    elle permet d'importer des fichiers externes (pratique dans FlashDevelop) et non, tu peux importer autant de fichiers que tu veux (image/audio/sprite) grace a cette balise.

    c'est bon, j'ai trouvé ton erreur, c'est tout simplement le nombre de poly par face, tu es au mini ce qui donne ce résultat médiocre !
    remplace ta ligne de définition du cube par ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cube = new Cube(materialList, 320, 320, 320, 5, 5, 5);
    augmente le nombre de segments si tu as encore des artefacts

  7. #7
    Membre confirmé
    Inscrit en
    Octobre 2008
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 137
    Par défaut
    embed n'est pas lié a papervision mais a flash !
    oui pour flash mais je pensais que c'etait juste pour une image unique !

    sinon merci c'est bien le nombre de poy par face !!

    un grand merci à toi !

  8. #8
    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
    précision :
    si tu as besoin d'importer X images/Sprites/Sons dans ton appli, tu peux le faire de différente manieres :

    1-importation depuis un repertoire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    [Embed(source = '../lib/img1.png')]
    private static const Img1:Class;
     
    [Embed(source = '../lib/img2.png')]
    private static const Img2:Class;

    2-importation depuis une bibli (SWF)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    [Embed(source = '../lib/bibli_jeux.swf', symbol='Mur')]
    private static var Mur:Class;
     
    [Embed(source = '../lib/bibli_jeux.swf', symbol='Bonus')]
    private static var Bonus:Class;
    si tu utilises FlashDevelop comme je le pense alors le plus simple est d'utiliser un SWC.

  9. #9
    Membre confirmé
    Inscrit en
    Octobre 2008
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 137
    Par défaut
    j'utilisai avant FDT mais la je vais me lancer dans buillder

    sinon pour l'import de mes images c'est uniquement dû au faite que pour cette anim j'ai du générer un swf sans html pour l'intégrer dans un CMS

    Le plus simple était l'emploi de la classe bitmpapAssetMaterial afin de récupérer mes images déjà embarqué dans la bibliothèque

  10. #10
    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
    si tu utilisais FDT, alors je ne peux que te conseiller d'utiliser FlashDevelop :
    il est aussi puissant que FDT et bien plus leger !

    c'est bien simple, depuis que j'ai mis le nez dans FD, je n'ai plus utilisé que lui !
    il est open source et gratuit, donc tu as toute une communauté qui tourne autour en lui rajoutant des plugins !

    j'ai fait un rapide article sur FD : http://web.codeur.free.fr/index.php/...-actionscript/

  11. #11
    Membre confirmé
    Inscrit en
    Octobre 2008
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 137
    Par défaut
    le hic de flash develop c'est que pour windows pour mac il est pas dispo

  12. #12
    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
    je viens de vérifier, il ne fonctionne pas sur MAC, c'est con.

    les gars qui font tourner FD sur MAC utilisent la virtualisation : http://www.flashdevelop.org/communit...7621&hilit=mac

    sinon des petits malins : http://www.flashdevelop.org/communit...8015&hilit=mac (2eme et 3eme message) on réussit a compiler une version pour MAC OS

  13. #13
    Membre confirmé
    Inscrit en
    Octobre 2008
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 137
    Par défaut
    je te remercie de ton lien mais j'avais déjà tester la virtualisation et étant assez système mac je n'aime pas trop employé windows ( de mauvais souvenirs ressurgissent )

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

Discussions similaires

  1. c# applisquer 6 texture sur un cube
    Par t-die dans le forum DirectX
    Réponses: 1
    Dernier message: 08/06/2006, 17h54
  2. Réponses: 4
    Dernier message: 16/03/2006, 17h50
  3. Texture sur un cube en rotation sous Delphi !!!
    Par Cosmo dans le forum DirectX
    Réponses: 1
    Dernier message: 06/01/2004, 21h14

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