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

Développement 2D, 3D et Jeux Discussion :

Sytème de particule


Sujet :

Développement 2D, 3D et Jeux

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 58
    Points : 34
    Points
    34
    Par défaut Sytème de particule
    Bonjour à tous,

    Je viens ouvrir une discussion sur les systèmes de particules car le domaine des effets spéciaux et du rendu m'interresse grandement, j'ai vu que la plus part des effets spéciaux (feu, eau, éclair, nuage, fumée ...etc) étaient réalisés à partir d'un système de particule.

    J'aimerais savoir comment ils font ? (un peu directe), en faites ce qui m'interresse c'est la partie théorique car actuellement j'aimerais réaliser un effet de feu en 3D (ou 2D avec du billboarding) réaliste, car il y a d'autre système pour réaliser des effets mais c'est le système de particule qui m'interresse.

    Si vous avez des références à propos de ceci je suis preneur.

    merci,

  2. #2
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    En fait il n'y a pas beaucoup de théorie, les particules ne sont que des billboards 2D dont tu peux changer plusieurs propriétés (couleur, texture, vitesse, durée de vie, ...) pour obtenir un système qui ressemble à ce que tu souhaites.

    Après, les différents papiers que tu vas trouver traiteront des architectures efficaces pour implémenter les systèmes de particules, ou alors des optimisations au niveau de l'API 3D pour améliorer les performances.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 58
    Points : 34
    Points
    34
    Par défaut
    Ok, par contre aurais tu des articles sur l'implémentation ou sur l'architecture de certains système de particule ? (plus particulièrement le feu)

    Car ca m'intrigue vraiment de savoir comment ils font.

  4. #4
    Membre habitué Avatar de Polyfructol
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Avril 2007
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Avril 2007
    Messages : 131
    Points : 157
    Points
    157
    Par défaut
    Salut, je ne m'y connait pas du tout en effet spéciaux ni en 3D, mais je peux te conseiller de jeter un oeil là si ce n'est pas déjà fait .

    -> GameDev : Special Effects (Fog, Lens, Flares, Particle, Systems, Lightning, Shadows, Clouds, Fire, Reflections, Water)

    En espèrant que tu trouves de quoi t'occuper .

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 58
    Points : 34
    Points
    34
    Par défaut
    Merci du lien Polyfructol,

    http://www.gamedev.net/reference/art...rticle2002.asp

    c'est l'un des articles les plus interressant que j'ai trouvé actuellement, ce qui est dommage c'est le manque de détail sur sa technique. Apparament c'est assez simple de réaliser un feu réaliste en 3D mais bon étant donnée que je ne les jamais fait, c'est forcément plus dur .

  6. #6
    Membre éclairé Avatar de HanLee
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    738
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2004
    Messages : 738
    Points : 871
    Points
    871
    Par défaut
    J'en ai fait quelques-uns, pour te donner plus de détails, on crée un effet de particule à l'aide d'émetteurs de particules.

    Un systeme simple de particules pour représenter du feu peut être fait comme cela :

    L'émetteur de particules crée des particules :
    - à un débit choisi
    - il donne des propriétés cinématiques à ses particules (position, vecteur vitesse et accélération)
    - il donne la couleurs de bases
    - une durée de vie (ce n'est pas nécessaire pour tous les effets de particules).

    Une fois les particules créées, tu vas agir sur elles, pour mettre à jour les données cinématiques (car elles ont une accélération ou pas, elles subissent peut être du vent), les couleurs pour le feu, leur durée de vie...

    Bien sur tu peux déplacer ton émetteur de particules dans l'espace.

    -----

    Après, j'ai un effet de feu qui rend pas trop mal sous DirectX, je peux te filer l'exécutable et te donner les données du système de particule.

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 58
    Points : 34
    Points
    34
    Par défaut
    Cela m'interresserer grandement si ça te dérange pas , j'en ai appris pas mal ces temps ci sur les particules et ça m'interresse pas mal surtout quand j'ai vu les effets que l'ont pouvait produire (bien entendu avec un niveau élévé dans ce domaine).

  8. #8
    Membre actif Avatar de Sixissor
    Étudiant
    Inscrit en
    Février 2006
    Messages
    206
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 206
    Points : 242
    Points
    242
    Par défaut
    Un truc qui pourrait t'intéresser pour le feu...
    Un article sur la démo "Vulcan" de nVidia, notamment un très bonne explication avec des shaders sur ce type d'effets.

    Tous les codes sources du livre ici: (lien légal) http://developer.nvidia.com/object/gpu_gems_cd.html

    PS: D'ailleurs c'est un excellent bouquin avec le 2ème du nom qui est aussi sorti pour tout ceux qui s'intéressent de près à la programmation de shaders. J'ai les 2 et je les recommande vivement pour mieux comprendre comment ça fonctionne...
    • Awesome dude ! R0FLC0PT3R !!!!11!ONE!!!
    • There's no place like 127.0.0.1

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 58
    Points : 34
    Points
    34
    Par défaut
    Le problème étant donnée qu'actuellement je travail sur un laptop avec une CG intégré et donc qui supporte pas les shaders . Ceux qui me restreint pas mal sur certaines possibilités, en tout cas je vais quand même regarder ce lien de près, car je pourrais toujours essaier de comprendre le concept.

    Merci à toi

  10. #10
    Membre actif Avatar de Sixissor
    Étudiant
    Inscrit en
    Février 2006
    Messages
    206
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 206
    Points : 242
    Points
    242
    Par défaut
    Si je peux te conseiller une chose, c'est de sérieusement t'intéresser aux Shaders concernant les effets de particules car ça va être la norme... Si ça ne l'est pas déja...
    Avec les ombres aussi, l'eau, etc. Bref tous les effets possibles et inimaginables !

    Dommage pour ton PC !
    • Awesome dude ! R0FLC0PT3R !!!!11!ONE!!!
    • There's no place like 127.0.0.1

  11. #11
    Membre éclairé Avatar de HanLee
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    738
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2004
    Messages : 738
    Points : 871
    Points
    871
    Par défaut
    Citation Envoyé par countag Voir le message
    Cela m'interresserer grandement si ça te dérange pas , j'en ai appris pas mal ces temps ci sur les particules et ça m'interresse pas mal surtout quand j'ai vu les effets que l'ont pouvait produire (bien entendu avec un niveau élévé dans ce domaine).
    Voilà, j't'envoie l'exemple. J'ai utilisé le framework DX9, normalement, rien n'utilise les shaders ici.

    EDIT : il manque peut-être des DLL qui sont fournies avec le SDK ?

    ------------------

    Maintenant, je te donne les données qui ont servi à construire le feu :

    - débit de particule : 40 particules existent en même temps maximum, tu divises par la durée de vie des particules
    - taille des particules : 2.0
    - durée de vie : 1.5 s
    - vitesse : norme comprise entre 1.5 et 1.75, vecteur vitesse aléatoire orienté vers le haut, compris dans un cône de demi-angle PI / 12
    - accélération : norme comprise entre 0.5 et 2.0, orienté vers le haut strictement

    Les données géométriques sont données sans unités.

    Voilà, normalement t'as tout ce qu'il te faut. Ah oui, les couleurs (en RGB) :

    - couleur de début : 255 255 128
    - couleur de fin : 255 64 0

    Il te suffit d'interpoler linéairement les 2 couleurs en fonction de l'âge de la particule.

    Ensuite, pour la composante alpha au cours du temps (pour simplifier, on considère qu'elle varie entre 0.0 et 1.0), je l'ai fait varier comme la fonction sinus entre 0 et PI (on considère que l'âge de la particule varie linéairement entre 0 et PI avant de mourir).

    Si on pose :
    - Age = âge de la particule
    - Duree = durée de vie de la particule

    Ca nous donne la formule :

    alpha = sin(PI * Age/Duree)

    Et voilà, tu as ton effet de feu =)
    Fichiers attachés Fichiers attachés

  12. #12
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 58
    Points : 34
    Points
    34
    Par défaut
    Alors tout d'abord merci et après il manque une dll d3dx9_34.dll mais que j'ai trouvé (http://www.m3fe.com/760/) sinon comme je le pensé lors du lancement il est passé en REF donc aurevoir les accélérations matérielles :/ c'était un peu lent mais j'ai pu voir l'effet et c'est assez impressionnant .

    Je te remerci de ton aide en tout cas

  13. #13
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Hello,

    thx, j'ai eu le même soucis que countag j'ai pas réussi à télécharger la dll (lien mort?) sur ton lien voici un lien qui fonctionne : d3dx9_34.dll

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

Discussions similaires

  1. particules animées avec point sprites ?
    Par ilimo dans le forum DirectX
    Réponses: 3
    Dernier message: 10/09/2004, 23h12
  2. [Débutant]Les particules
    Par BenderJay dans le forum OpenGL
    Réponses: 2
    Dernier message: 30/03/2004, 13h59
  3. transparence pour particule
    Par methos69 dans le forum OpenGL
    Réponses: 9
    Dernier message: 25/01/2004, 01h13
  4. Mon Systeme de particules :)
    Par Sphax dans le forum OpenGL
    Réponses: 9
    Dernier message: 18/08/2003, 18h43
  5. moteur de particules :Dessiner un point
    Par houssa dans le forum OpenGL
    Réponses: 2
    Dernier message: 25/06/2003, 22h13

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