begin process at 2012 05 26 03:33:15
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

ActionScripts

 > [AS3 - CS4] MOTION BLUR EFFECT

[AS3 - CS4] MOTION BLUR EFFECT


 Information sur la source

Note :
7 / 10 - par 1 personne
7,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :ActionScripts Classé sous :motion, blur, flou, vitesse, effet Niveau :Débutant Date de création :18/04/2010 Date de mise à jour :19/04/2010 14:36:18 Vu / téléchargé :4 363 / 406

Auteur : stefbuet

Ecrire un message privé
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (9)
Ajouter un commentaire et/ou une note


 Description

Cliquez pour voir la capture en taille normale
Classe pour pouvoir faire très facilement un effet de flou de vitesse sur toute votre scène (ou partiellement), réalisée en AS3.
Ici le principe est simple : mixer les X dernières images rendues entre elles, rendant une impression de flou de vitesse, ce nombre d'images X est réglable.
Une deuxième méthode est disponible : mixer l'image actuelle avec une autre image qui est elle même un mix des dernières images rendues à l'écran. Cette deuxième méthode est moins couteuse en calcul, mais le rendu est légèrement différant... A vous de choisir ce qui vous convient le mieu.

3 exemples d'utilisation fournits:
Main.swf - simple rond dirigé par la souris.
PhysicExemple.swf - plusieurs ronds rebondissent sur les bords de la fenêtre.
GifExemple.swf - Application de l'effet sur des clips animés (l'animation n'est pas de moi)
Note:Les 3 exemples utilise la deuxième méthode de motion blur.

A savoir : Le motion blur permet de donner une impression de fluidité quand le FPS d'une animation tend vers des valeurs plutôt faibles.
Inconvénient de cette technique : L'effet de flou va dépendre du FPS de votre animation. Plus elle tournera lentement, plus l'effet donnera une impression de grandes trainées.

Source

  • Comment utiliser l'effet? 3 lignes.
  • import stefbuetFX.MotionBlur;
  • var mbEffect:MotionBlur=new MotionBlur(this, 5, stage.stageWidth, stage.stageHeight);
  • addEventListener(Event.ENTER_FRAME, mbEffect);
  • addChild(mbEffect);
  • Variante pour utiliser la deuxième méthode:
  • var mbEffect:MotionBlur=new MotionBlur(this, 0, stage.stageWidth, stage.stageHeight, true, 0.5);
Comment utiliser l'effet? 3 lignes.

import stefbuetFX.MotionBlur;

var mbEffect:MotionBlur=new MotionBlur(this, 5, stage.stageWidth, stage.stageHeight);
addEventListener(Event.ENTER_FRAME, mbEffect);
addChild(mbEffect);

Variante pour utiliser la deuxième méthode:
var mbEffect:MotionBlur=new MotionBlur(this, 0, stage.stageWidth, stage.stageHeight, true, 0.5);

 Conclusion

MotionBlur(rootNode:DisplayObject, samples:uint, width:uint, height:uint, useCostlessMethode:Boolean=false, persistance:Number=0.5) : Constructeur
rootNode : Sur quel objet appliquer le flou? la racine permet de prendre en compte toute la scène.
samples : Nombre d'images à utiliser dans le buffer.
width & height : dimensions de l'effet. Si vous ne savez pas quoi mettre, laisser les dimensions de la fenetre.
useCostlessMethode : envoyer true pour utiliser la deuxième méthode de rendu moins couteuse en calculs. Désactivé par Default.
persistance: Si deuxième méthode utilisée, facteur de transparence des rendus lors de leur mélange avec les précédents rendus, entre 0 et 1 (0 = pas de flou, 1 = flou max)

update(e:Event=null):void
peut être appelé manuellement ou par un écouteur d'evenement.
Permet de mettre à jour l'effet.

drop():void
Vide la mémoire.
Attention, n'utilisez plus l'effet après avoir utilisé cette méthode!

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

19 avril 2010 14:36:20 :
Nouvelle méthode ajoutée : Motion Blur avec uniquement 3 bmpData. Moins de calculs, mais rendu légèrement différant. Description mise à jour.

 Sources du même auteur

Source avec Zip Source avec une capture ALCHEMY - FRACTALS VIEWER
Source avec Zip Source avec une capture [AS3 - CS4] CLASSE EFFET HDR GLOW
Source avec Zip Source avec une capture SPACE SURVIVOR
Source avec Zip Source avec une capture CLASS MOTEUR PARTICULES ENTIEREMENT PARAMETRABLE SIMPLE A UT...
Source avec Zip Source avec une capture CLASS SCROLLBAR COMPLETEMENT PARAMETRABLE

 Sources de la même categorie

Source avec Zip Source avec une capture OUVRIR UNE ANIMATION EXTERNE DANS UN CLIP VIDE. par KcHeY
Source avec Zip ZOOM SUR UNE IMAGE par yasdar
Source avec Zip Source avec une capture UN PEU DE MATH par yasdar
Source avec Zip Source avec une capture PARTICULE SYSTEM par yasdar
Source avec Zip Source avec une capture GALLERIE PHOTO AVEC XML par yasdar

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture EFFET D'EAU RÉALISTE - AS2 par Choumoumou
Source avec Zip MASQUES AVEC DÉGRADÉ par fredvlvcec
Source avec Zip Source avec une capture [AS3 - CS4] CLASSE EFFET HDR GLOW par stefbuet
Source avec Zip Source avec une capture JEUX D'IMAGES AVEC "BLUR" par mounibec
Source avec Zip Source avec une capture FLASH 8, EXEMPLE DE FLOU par Wally57

Commentaires et avis

Commentaire de top30 le 19/04/2010 12:44:34

Le concept est bon...
Pour consommer moins de ressource n'utilise que 3 BitmapData !

1/ Une copie de l'image courante.
2/ Une copie de la copie précédente mais estompée.
3/ Une copie des des copies, estompée, que tu mélanges avec l'avant dernière.

Ainsi tu pourras avoir un "gros" buffer de 10 ou 100, mais toujours 3 BitmapData !

Clair ???

Commentaire de stefbuet le 19/04/2010 14:42:45

J'hésitais entre les deux méthodes. Le rendu n'est pas exactement le même car avec la technique des 3 bmpData la trainé va disparaitre progressivement contrairement au gros buffer. Mais l'utiliser permet de beaucoup réduire le cout de calcul.
J'ai donc implémenté cette méthode dans la classe, et elle est utilisable en spécifiant les deux derniers paramètres du constructeur. La méthode originelle est donc toujours dispo, à l'user de choisir ce qui lui convient le mieux.

Stef.

Commentaire de top30 le 19/04/2010 21:00:16

Une autre solution qui économiserait des ressources, car ca rame !
Ca serait de dessiner la cible (et non le parent) puis mémoriser la position.

Tu pourais faire en sorte que ton effet soit un "calque" contenant la cible et le flou.

Commentaire de top30 le 19/04/2010 21:08:22 7/10

J'ai vu que dans tes exemples tu avais changer selon mes conseils...

je dois reconnaitre que l'effet est moins "percutant", masi alors qu'est-ce que ca rame moins  !!! Pour être plus proche de l'effet "original", tu devrais faire en sorte que la première copie soit déjà estompée. Sur ton exemple "physique", on dirait que les cercles les plus récents ne soient pas estompés (ou alors c'est pas assez!).
Dans tous les cas, sur le rendu des persos animés c'est pas mal !
7/10

Commentaire de stefbuet le 19/04/2010 23:01:27

En fait cela dépend du PC cible sous lequel tourne l'animation. Plus il est rapide, moins le flou sera visible. C'est le problème de cette technique. Après il faut essayer de jouer en temps réel sur le nombre d'images du buffer (dans le cas de la 1er méthode) ou le coefficient de persistance du buffer (dans le ème cas) pour avoir à peu près la même chose partout.

Commentaire de Orange73 le 25/04/2010 22:51:24

Hello,

Source sympa.
J'ai pas pris le temps de regarder le code mais une chose m'a tappé a l'oeil dans ton code sample :
Tu crées un new object tout le temps via l'event ENTER_FRAME !!! c'est pas très bon cela pour les ressources CPU.

A+

Commentaire de stefbuet le 25/04/2010 23:34:52

Salut,
Je vois pas. Fichier & Ligne stp.

Commentaire de Orange73 le 26/04/2010 00:02:34

addEventListener(Event.ENTER_FRAME, mbEffect);

Commentaire de stefbuet le 26/04/2010 00:31:45

Tu parles peut être de :
addEventListener(Event.ENTER_FRAME, mbEffect.update);

Je ne vois pas le problème. Un bitmapData est créé à chaque rendu tandis que le précèdent est déchargé de la mémoire. Il n'y a pas de fuite de mémoire.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

comment faire un effet ou une image se dédouble selon la vitesse avec un effet de transparence ? [ par PisTouT ] bonjour tout le monde, Je sais c'est pas très clair la question dans le sujet mais je vais essayer de l'expliquer au mieux :j'ai vu dans pas mal d'ani effet 2 flou entre image [ par samas16 ] bonjour, Je cherche à réaliser un effet de transition "flouté"entre 2 images..!!? Du flou vers la meme image mais nette.. Si quelqu'un Flou sur image fixe [ par godak ] apres avoir regardé quelques codes sur les forums, je n'ai pas trouvé ce que je cherchais.je souhaiterai appliquer un effet de flou sur une intro : effet blur [ par MATEO1200 ] bonjour a tous, je suis au désespoir apres avoir cherché maintes heures comment arrive-t-on a faire un effet blur sur le MM dans l'intro de son site j vitesse + flou [ par jeep501 ] Bonjour,J'ai le code suivant qui me donne un effet de vitesse et de flou.Ca marche tres bien mais des fois quand ca s'arrete ca reste flou.Comment fai effet de flou sur scrollbar [ par jojomayeut ] Bonjour,J'aimerai réaliser un scrollbar avec un effet de flou lorsque on le déplace, comme sur le site http://www.lancer-evolution.eu/control10/lang/s Probleme avec boucle dun effet flou [ par MaLiYen ] Bonjour à tous !Voilà j'ai un petit problème sous flash 8 Pro. J'ai crée un effet de flou que j'ai placé dans un movieclip, le problème c'est que cet mouvement vraiment saccadé d'un tween avec un effet blur [ par talock ] Bonjour à tous, je suis confronté à un problème depuis au moins une semaine. j'ai répété une image que je fai déplacer en x y et z avec une impression setInterval [ par dialone ] Salut tout le monde, je bosse sur un du AS2 je fait un loadmovie dans ma scène principale. Dans le fichier que je charges apparait un clip de moins e effet flou action script [ par jobe06 ] Bonjour je cherche a faire cet effet [url=http://www.goldencoast.com.cy/photo-gallery-2?album=all&gallery=10]ici[/url] en action script mais, je n'arr


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,780 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales