Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 7 sur 7
  1. #1
    Invité régulier
    Inscrit en
    avril 2007
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : avril 2007
    Messages : 21
    Points : 6
    Points
    6

    Par défaut [XNA4] Simuler le vent sur des sprites

    Bonjour,

    Je suis actuellement sur un nouveau projet en 2D et j'aurai voulu un avis extérieur concernant la gestion d'un vent sur mes sprites.

    Au fond de mon jeu est superposé un ensemble d'éléments (herbes hautes, arbres, ...), et j'aimerai pouvoir les animer de manière vivante.

    J'ai imaginé deux solutions pour le moment:
    1) un mini moteur basé sur de l'aléatoire pour changer le sprite courant d'un objet, par exemple de l'herbe, et la faire aller d'un "point" à l'autre de son animation en fonction de nombres aléatoire, nombre calculé à chaque fin d'itération de l'animation. Super lourd à priori, autant en terme de calcul que de mémoire ...
    2) utiliser des shaders pour calculer les déformations dues au vent. J'ai déjà vu des exemple en 3D bluffant de réalisme et ultra performant, mais là mon soucis est la complexité que je n'arrive pas à mesurer

    Pour donner un ordre d'idée, le nombre d'éléments dynamiques devrait tourner autour des 1000 dans le pire des cas (en tout cas pour le moment)

    Quel est votre avis? avez vous d'autres idées?

    Cordialement

    Clem

  2. #2
    Responsable 2D/3D/Jeux

    Avatar de LittleWhite
    Homme Profil pro Alexandre Laurent
    Ingénieur développement logiciels
    Inscrit en
    mai 2008
    Messages
    15 646
    Détails du profil
    Informations personnelles :
    Nom : Homme Alexandre Laurent
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : mai 2008
    Messages : 15 646
    Points : 72 632
    Points
    72 632

    Par défaut

    Bonjour,

    Pour un jeu 2D, vu de dessus, en tiles, je propose de créer des petits décalages pour les sprites, selon un z fictif. Chaque type de sprite aura donc un attribut z et le vent fera bouger plus ou moins vite les sprites selon leurs z. Le problème, c'est la cassure entre les tailles qui risquent de se créer.

    Sinon, on peut utiliser des spritesheets, comme pour les animations, mais par exemple, pour l'herbe, on changera le rectangle aléatoirement avec les rectangles adjacent du sprite. Plus concrètement, imaginé 3 sprites d'herbe alignés horizontalement. Vous afficher actuellement le sprite du milieu (deuxième sprite) et pour la frame suivante, vous choisissez aléatoirement, soit la sprite 1, soit la sprite 3.

    Pour les shader, cela peut être plus difficile, mais ce n'est pas une obligation Je me demande quel effet vous voulez faire.
    Vous souhaitez participer à la rubrique 2D / 3D / Jeux ? Contactez-moi
    La rubrique a aussi un blog !

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #3
    Nouveau Membre du Club
    Homme Profil pro
    médical
    Inscrit en
    septembre 2007
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : médical

    Informations forums :
    Inscription : septembre 2007
    Messages : 132
    Points : 35
    Points
    35

    Par défaut

    Citation Envoyé par LittleWhite Voir le message
    Bonjour,

    Pour un jeu 2D, vu de dessus, en tiles, je propose de créer des petits décalages pour les sprites, selon un z fictif. Chaque type de sprite aura donc un attribut z et le vent fera bouger plus ou moins vite les sprites selon leurs z. Le problème, c'est la cassure entre les tailles qui risquent de se créer.
    je ne suis pas sûre que la taille change selon le Z, car un sprite est ni plus ni moins qu'un carré (2 triangles) rendu dans une projection orthogonal, donc quelque soit la profondeur Z, le sprite reste visuellement de la même taille non?

  4. #4
    Responsable 2D/3D/Jeux

    Avatar de LittleWhite
    Homme Profil pro Alexandre Laurent
    Ingénieur développement logiciels
    Inscrit en
    mai 2008
    Messages
    15 646
    Détails du profil
    Informations personnelles :
    Nom : Homme Alexandre Laurent
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : mai 2008
    Messages : 15 646
    Points : 72 632
    Points
    72 632

    Par défaut

    Je ne parlais pas de changement de taille. J'imaginais un système similaire à du parallax, dans lequel selon un attribut 'z' le déplacement / positionnement du sprite change.
    Vous souhaitez participer à la rubrique 2D / 3D / Jeux ? Contactez-moi
    La rubrique a aussi un blog !

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  5. #5
    Nouveau Membre du Club
    Homme Profil pro
    médical
    Inscrit en
    septembre 2007
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : médical

    Informations forums :
    Inscription : septembre 2007
    Messages : 132
    Points : 35
    Points
    35

    Par défaut

    Citation Envoyé par LittleWhite Voir le message
    Je ne parlais pas de changement de taille. J'imaginais un système similaire à du parallax, dans lequel selon un attribut 'z' le déplacement / positionnement du sprite change.
    tu parles un peu de dessus dessous par rapport à un autre sprite?

  6. #6
    Responsable 2D/3D/Jeux

    Avatar de LittleWhite
    Homme Profil pro Alexandre Laurent
    Ingénieur développement logiciels
    Inscrit en
    mai 2008
    Messages
    15 646
    Détails du profil
    Informations personnelles :
    Nom : Homme Alexandre Laurent
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : mai 2008
    Messages : 15 646
    Points : 72 632
    Points
    72 632

    Par défaut

    Oui, car je voyais l'herbe au plus loin, puis des arbres au dessus puis des nuages encore au dessus.

    Dans un des derniers Pokemon (sur NDS), il y a un effet de vent, cela pourra vous donner une idée.
    Vous souhaitez participer à la rubrique 2D / 3D / Jeux ? Contactez-moi
    La rubrique a aussi un blog !

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  7. #7
    Invité régulier
    Inscrit en
    avril 2007
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : avril 2007
    Messages : 21
    Points : 6
    Points
    6

    Par défaut

    Bonjour,

    Interessant que tu parles de Pokemon sur NDS, l'idée que je me fesait des graphismes que j'aimerai obtenir était à peu près celle des Pokemon sur GB (ou des RPG sur SNES), avec évedement des textures plus fines et quelques animations bonus (dont le vent) qui pourra être affecté par des effets (tornades, magie, ...).

    A un moment j'ai meme pensé utiliser un moteur physique genre PhysX pour gerer ca et d'autres choses (eau, particules, gravité,...).

    Concernant l'idée du z j'ai du mal à imaginer le résultat mais l'animation sera pas très fluide il me semble, non? L'idée était de calculer l'animation plutot que la stocker mais j'irai au meilleur compromis temps de dev/beauté.

    Merci en tout cas pour les idées

    Clem

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •