begin process at 2010 02 10 02:28:15
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

ActionScripts

 > [AS3 - CS4] CLASSE EFFET HDR GLOW

[AS3 - CS4] CLASSE EFFET HDR GLOW


 Information sur la source

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

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :ActionScripts Classé sous :Glow, Bloom, HDR, effet, lumière Niveau :Expert Date de création :30/04/2009 Date de mise à jour :01/05/2009 01:56:09 Vu / téléchargé :3 611 / 466

Auteur : stefbuet

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


 Description

Cliquez pour voir la capture en taille normale
Cette classe permet de créer très facilement en 1 ligne de code un effet de High Dynamic Range Glow sur n'importe quel display object de l'application.

Le bloom ou HDRGlow comme je l'appel ici est le phénomène observé lorsque l'on place un objet très lumineux derrière un autre objet plus ou moins réfléchissant. On peut voir avec une sorte de glow la lumière de l'objet lumineux part dessus l'objet le recouvrant... (les exemples parlent d'eux même)

Normalement, on parle pour cet effet de Bloom, j'utilise le mot Glow car c'est un filtre Glow que j'utilise au final dans la classe, bien que cela soit totalement invisible aux yeux de l'utilisateur.

Il faut savoir pour finir que l'effet de "bloom" est une "simulation", un vrai effet bloom se calcul sur une scène 3D, cependant les résultats sont assez satisfaisants.

Source

  • La classe HDRGlow est fournie avec deux exemples pour l'illustrer, ainsi qu'une autre classe "ColorUtils" qui possèdes plusieurs méthodes de conversions en rapport avec les couleurs (utilisée par la classe HDRGlow).
  • Les deux exemples sont dans le dossier BIN.
  • Les sources sont dans le dossier SRC.
  • La classe HDRGlow est extrêmement commentée! Ainsi vous pourrez bien comprendre à quoi correspondent les paramètres des fonctions, comment elles fonctionnent, et éventuellement les modifier pour les plus curieux.
La classe HDRGlow est fournie avec deux exemples pour l'illustrer, ainsi qu'une autre classe "ColorUtils" qui possèdes plusieurs méthodes de conversions en rapport avec les couleurs (utilisée par la classe HDRGlow).

Les deux exemples sont dans le dossier BIN.
Les sources sont dans le dossier SRC.

La classe HDRGlow est extrêmement commentée! Ainsi vous pourrez bien comprendre à quoi correspondent les paramètres des fonctions, comment elles fonctionnent, et éventuellement les modifier pour les plus curieux.

 Conclusion

Comment créer un effet HDR Glow? Rien de plus simple :

import stefbuetFX.HDRGlow;
var HDR:HDRGlow=new HDRGlow(monObjet);
addChild(HDR);

Vous pouvez appliquer le même effet glow sur l'objet lumineux automatiquement via la fonction static :  setupTargetGlow();

De plus, vous pouvez accéder aux données bitmapdata de l'effet calculé directement en utilisant la méthode static drawHDR() sans avoir besoin d'instancier d'objet de la classe. (Détaillé dans les commentaires).

Note:
Niveau expert pour le code (comprendre comment il marche?)
mais moins que débutant pour l'utiliser!

Voila, en espérant que certains y trouverons un intérêt pratique!

Stef.

 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

01 mai 2009 01:56:09 :
-Optimisation des performances dans l'exemple 01 et modification de la classe HDRGlow pour que les effets de crénelage disparaissent.

 Sources du même auteur

Source avec Zip Source avec une capture ALCHEMY - FRACTALS VIEWER
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
Source avec Zip REDIMENTION AVEC RESIZUER DE CLIP

 Sources de la même categorie

Source avec Zip NAVIGATION DANS UN FICHIER XML par inaden
Source avec Zip Source avec une capture TWSCROLLBAR, UNE CLASSE DE SCROLLBAR SIMPLE ET PRATIQUE À UT... par Twinspirit
Source avec Zip Source avec une capture REBOND DE BALLON AVEC TWEEN par habibcode
Source avec Zip DIAPORAMA AS2 par ahmedhrbdj
Source avec Zip EXAMPLES DE TWEENS AS2 par rajas

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture PARTICLE 1.0 par Ockam
Source avec Zip FLAMME EN FLASH TOUTE SIMPLE par darksoul
Source avec Zip Source avec une capture MULTICOEUR par Orange73
Source avec Zip Source avec une capture UNE CHUTE D'EAU par claviskass
Source avec Zip Source avec une capture PETITS EFFETS LUMINEUX par claviskass

Commentaires et avis

Commentaire de pegase31 le 30/04/2009 23:28:18 administrateur CS

Effet très sympa, mais juste quelques remarques/conseils :

- il y a des erreurs dans Exemple01.as : il faut changer "public function Exemple00()" par "public function Exemple01()" pour que ça foncitonne
- L'EnterFrame est trop "bouffe-source" et n'utilise pas les capacités réelle de la machine, le mieux est de le remplacer par un MOUSE_MOVE sur le stage et d'ajouter "e.updateAfterEvent()" à la fin de la fonction "update". Par contre, tu perds le calcul de frameRate ...
- Il est dommage de voir cet effet de crénelage moche sur les surfaces non planes vectorielles. J'ai testé avec un gif transparent (sans % d'alpha) et ça passe nickel, par contre il y a des erreurs d'approximations sur les png avec dégradés alpha.

Un premier jet très prometteur, mais quelques réglages fins à faire ...

Peg'

Commentaire de stefbuet le 01/05/2009 02:02:08

Salut,

Ouf, j'ai enfin réussi à trouver une solution pour palier aux problèmes de crénelage! J'ai aussi corrigé l'erreur dans la classe Exemple01 et changé la méthode d'affichage de l'effet. En effet simplement utiliser l'evenement MOUSE_MOVE au lieu de ENTER_FRAME n'aurait rien changé car l'objet HDRGlow s'update automatiquement via ENTER_FRAME. J'ai donc utilisé la fonction drawHDRGlow static sans utiliser le reste de la classe HDRGlow (technique détaillé dans la doc de la classe) et ainsi je n'appel cette fonction qui calcul l'effet uniquement lors des evenements MOUSE_MOVE et la il y a bcp moins de calculs effectués!

Stef.

Commentaire de Mansuz le 01/05/2009 19:55:11

Super rendu ! Bonne source.

Commentaire de artkabis le 29/07/2009 02:52:46 10/10

Après avoir regardé longuement les sources, je dois dire que c'est plutôt du beau travail, l'effet est bien sûr réussi, mais c'est plutôt le code qui m'a impressionné. En tout cas le résultat est concluent et la manière pour y arriver est franchement convaincante. Bien joué !!!

Commentaire de mnem0 le 29/09/2009 19:57:36

Très bel effet et très pratique. Cela dit, si j'applique une interpolation de mouvement sur l'objet cible du HDRGlow, j'obtiens une erreur :
TypeError: Error #1009: Il est impossible d'accéder à la propriété ou à la méthode d'une référence d'objet nul.
l'erreur porte sur var mat2:Matrix=context.getChildAt(i).transform.matrix;


pourtant, mon code as est simpliste :

import classes.stefbuetFX.HDRGlow;
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.filters.GlowFilter;
var HDR:HDRGlow=new HDRGlow(rect);
addChild(HDR);

Quelqu'un serait il en mesure de m'aider ?

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Effet De Lumière Qui Défile Sur Texte Et Image.. [ par TINA_la_Scarla ] Salut A Tous!!Je Viens D'Avoir Le Logiciel Flash MX 2004 Et Je Ne Comprend Dtrictement Rien A Son Utilisation... J'Aimerais Savoir Comment Faire Pour Effet de flash de lumière (type flash appareil photo) [ par FleurT ] Bonjour à tous, j'aimerais faire un effet " flash de lumière " type appareil photo pour faire une transition entre mes 2 parties. Si quelqu'un aurai Comment réaliser ce type d'effet intélligement.. [ par socket77 ] Je voudrais faire tourner "le trait de lumière blanc" qui contourne l'europe sur la map monde de l'anim flash de http://www.fabriksite.com/<a href="ht Effet de "trait de lumière" sur une image ??? [ par Anakinele ] Bonjour à tous!J'aimerai savoir comment faire un effet bien précis qui apparait sur la plupart des sites professionnels en Flash.Il sagit de l'effet d effet lumière de voiture [ par soussan ] comment&nbsp;faire clignoter le symbole graphique de facon ordonn&#233;e, comme l'effet du signal de voiture`merci Créer un bannière flash avec photos et effet loop [ par djibeto ] Bonjour je viens de parcourir les sujets mais aucun ne parle de &#231;a ,donc voil&#224; quelques jours que je suis entrain de lutter pour cr&#233;er Créer un bannière flash avec photos et effet loop [ par djibeto ] Bonjour je viens de parcourir les sujets mais aucun ne parle de &#231;a ,donc voil&#224; quelques jours que je suis entrain de lutter pour cr&#233;er Effet de traces derrière des roues de tracteur [ par kekobaron ] Bonjour, Peut etre quelqu'un ici peut m'aider ? Je cherche &#224; r&#233;aliser un effet de traces de roues sur le sol apr&#232;s le passage d'un trac Mots de la phrase grossissent [ par zoequare ] Bonjour &#224; tous,J'aimerais crer un effet sur du texte en ActionScript car cet effet je vais &#234;tre ammen&#233; &#224; l'utiliser plusieurs fois effet sur curseur + drag impossible !!! [ par kokam ] Bonjour, je n'arrive pas &#224; r&#233;aliser quelque chose de simple:j'ai un clip sur la scene nomm&#233;: dessinJe voudrais que le curseur change de


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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,967 sec (4)

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