Blog Papervision3D

Blog Français sur Papervision3D

Fog avec Papervision3D.

Posté par Ocelyn le 29 septembre, 2009
Publié dans Tutoriaux

Dans ce tutoriel nous allons créer un effets de brouillards dans Papervision3D.

Pour cela nous allons tout simplement utiliser un FogMaterial et un FogFilter que nous appliquerons à notre BasicRenderEngine (renderer).

Nous créons notre FogMaterial (ligne 20) et lui passons une couleur, le mieux est de choisir une couleur étant la même que votre couleur de fond. (blanc dans cet exemple)

Puis nous appliquons à notre renderer un nouveau filtre (ligne 21), un FogFilter qui reçoit 4 paramètres, le premier est notre FogMaterial créé précédemment puis le nombre de segments, c’est à dire le nombre de layers entre un fog à 0% et un fog à 100%, plus il y a de segments plus la progression vers le fond du brouillards seras détaillées.

Enfin nous lui passons les paramètres minDepth et maxDepth qui sont les points de départs et d’arrivé en Z de notre Fog.

Enfin nous faisons avancer notre Sphere en Z (ligne 37) pour la voir s’enfoncer progressivement dans le brouillard.

  1. package {
  2.         import org.papervision3d.core.render.filter.FogFilter;
  3.         import org.papervision3d.materials.ColorMaterial;
  4.         import org.papervision3d.materials.special.FogMaterial;
  5.         import org.papervision3d.objects.primitives.Sphere;
  6.         import org.papervision3d.view.BasicView;
  7.  
  8.         import flash.events.Event;
  9.  
  10.         public class BasicScene extends BasicView {
  11.                
  12.                 public function BasicScene()
  13.                 {      
  14.                         initFog();
  15.                         buildSphere();
  16.                 }
  17.                
  18.                 private function initFog() : void
  19.                 {
  20.                         var fogMaterial : FogMaterial = new FogMaterial(0xffffff);
  21.                         renderer.filter = new FogFilter(fogMaterial, 50, 1500, 2000);
  22.                 }
  23.  
  24.                 private function buildSphere() : void
  25.                 {
  26.                         var material : ColorMaterial = new ColorMaterial(0×000000);
  27.                         material.smooth = true;
  28.                        
  29.                         sphere = new Sphere(material, 200, 20, 20);
  30.                         scene.addChild(sphere);
  31.                        
  32.                         startRendering();
  33.                 }
  34.  
  35.                 override protected function onRenderTick(event:Event=null):void
  36.                 {
  37.                         sphere.z += 5;
  38.                         super.onRenderTick(event);
  39.                 }
  40.                
  41.                 private var sphere : Sphere;
  42.         }
  43. }
Share and Enjoy:
  • Facebook
  • Twitter
  • LinkedIn
  • del.icio.us
  • Technorati
  • Digg
  • Netvibes
  • Wikio FR
  • Live
  • Google Bookmarks
  • email
  • Print

2 commentaires dans ce post, pour l'instant.

Suivre ce post par RSS ou poser un trackback
mygif
368. spyesx dit,
30 septembre, 2009 à 14:41

La semaine prochaine j’attaque un générateur dynamique de brouillard !

mygif
369. spyesx dit,
30 septembre, 2009 à 14:41

je ne précise pas l’année du commentaire précédent… php Addict oblige.

Laisser un commentaire

Currently browsing Fog avec Papervision3D.

 Pseudo(*requis)

 Email (*privée)

 Site internet (*optionnel)