Précédent   Forum du club des développeurs et IT Pro > Applications > Développement 2D, 3D et Jeux > Moteurs de jeux vidéo > XNA
XNA Forum d'entraide sur le développement avec XNA
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 04/02/2012, 12h35   #1
CLemTB
Invité régulier
 
Inscription : avril 2007
Messages : 20
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 20
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
CLemTB est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/02/2012, 19h10   #2
LittleWhite
Responsable 2D/3D/Jeux


 
Avatar de LittleWhite
 
Homme Alexandre Laurent
Ingénieur développement logiciels
Inscription : mai 2008
Messages : 10 467
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 : 10 467
Points : 40 428
Points : 40 428
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.
LittleWhite est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 05/02/2012, 19h17   #3
dark poulpo
Nouveau Membre du Club
 
Homme
médical
Inscription : septembre 2007
Messages : 129
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : médical

Informations forums :
Inscription : septembre 2007
Messages : 129
Points : 34
Points : 34
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?
dark poulpo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/02/2012, 19h25   #4
LittleWhite
Responsable 2D/3D/Jeux


 
Avatar de LittleWhite
 
Homme Alexandre Laurent
Ingénieur développement logiciels
Inscription : mai 2008
Messages : 10 467
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 : 10 467
Points : 40 428
Points : 40 428
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.
LittleWhite est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 05/02/2012, 23h02   #5
dark poulpo
Nouveau Membre du Club
 
Homme
médical
Inscription : septembre 2007
Messages : 129
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : médical

Informations forums :
Inscription : septembre 2007
Messages : 129
Points : 34
Points : 34
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?
dark poulpo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2012, 10h53   #6
LittleWhite
Responsable 2D/3D/Jeux


 
Avatar de LittleWhite
 
Homme Alexandre Laurent
Ingénieur développement logiciels
Inscription : mai 2008
Messages : 10 467
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 : 10 467
Points : 40 428
Points : 40 428
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.
LittleWhite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2012, 15h31   #7
CLemTB
Invité régulier
 
Inscription : avril 2007
Messages : 20
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 20
Points : 6
Points : 6
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
CLemTB est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 02h09.


 
 
 
 
Partenaires

Hébergement Web