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 :

Gestion d'une tile map en 3D


Sujet :

Développement 2D, 3D et Jeux

  1. #1
    Yordarus
    Invité(e)
    Par défaut Gestion d'une tile map en 3D
    Bonsoir à tous.

    Voilà je développe sous XNA les bases d'un jeu en 3D mais "tilé", c'est à dire que la map est découpé en case.
    Cependant je n'ai pas vraiment d'idée pour gérer ces tiles.

    Ma première idée est de combiner 2 techniques. La première est celle pour dessiner des heightmaps avec donc les vertices et les indices ( comme sur le site riemers.net ), mais en enlevant le fait de se baser sur une carte de niveau de gris. Puis avoir une classe tile, qui contient toute sorte d'informations telles que les coordonnées du milieu d'une tile, sa texture ... etc. Et pour la map, avoir un tableau de tile.

    Cependant si je fais une map de 64x64 tile, j'obtiens 4096 objets, ce qui me parait un vrai gouffre à mémoire.

    Mon objectif est d'avoir une map en 3D et de pouvoir la gérer en tile. Je souhaite par exemple faire du pathfinding par tile ( comme sur un jeu 2D classiques ), pouvoir déterminer dans quelle tile je me trouve comme sur cette vidéo



    Si vous avez des pistes elles seront le bienvenus ! Merci à tous

  2. #2
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 360
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 360
    Points : 20 376
    Points
    20 376
    Par défaut
    Citation Envoyé par ChevalierZ Voir le message
    Cependant si je fais une map de 64x64 tile, j'obtiens 4096 objets, ce qui me parait un vrai gouffre à mémoire.
    Pas forcément : si tu assimiles tes tuiles de fond à des objets 3d c'est certain que cela risque de solliciter les ressources de la carte vidéo.
    Mais si tu assimiles cela à un simple matrice 2x2 c'est pas grand chose..

  3. #3
    Yordarus
    Invité(e)
    Par défaut
    Citation Envoyé par Mat.M Voir le message
    Pas forcément : si tu assimiles tes tuiles de fond à des objets 3d c'est certain que cela risque de solliciter les ressources de la carte vidéo.
    Mais si tu assimiles cela à un simple matrice 2x2 c'est pas grand chose..
    Hm comment ça ?

  4. #4
    Yordarus
    Invité(e)
    Par défaut
    Et ben, mon topic à fait un bide lol.

  5. #5
    Membre averti Avatar de yodaime
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2006
    Messages
    282
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2006
    Messages : 282
    Points : 340
    Points
    340
    Par défaut
    Citation Envoyé par ChevalierZ Voir le message
    Hm comment ça ?
    Par exemple tu as ta heightmap qui fait 5 sur 5 . Tu découpe cette map en carre de 1 * 1. Tu a donc 25 cases.

    Dans une structure de stockage (matrice, tableau,liste...) tu vas stocker la coordonnés du coin gauche de chaque case.

    Case 1 : 0,0
    Case 2 : 0,5
    Case 3 : 0,10 ...

    Apres si ton personnage est en 6,7 tu sais qu'il est sur la case de coordonnées 5,5.

    Je sais pas si tu vois ce que je veux dire, mais c'est l'idée en gros

  6. #6
    Yordarus
    Invité(e)
    Par défaut
    Salut !

    Si je vois ce que tu veux dire. En fait j'ai fais plus simple et je me suis inspiré du tuto FlightSim sur riemers.

    Il définit un tableau int,int et construit la map à partir du tableau. Du coup si je met tabMap[32,32] j'ai une map de 32x32 cases.

    Ensuite je me suis inspiré du terrain picking qu'il propose en source dans Download ( le chap 05-10 ).

    Mais j'ai un problème, en fait il y a des cases ( les dernières sur la dernière colone ) qui n'affichent pas les bonnes coordonnées quand je pointe dessus. Et ça je pense que ça dépend de la position de la caméra. Du coup je joue avec la caméra sinon j'obtiens des fois des fausses coordonnées. Je sais pas pourquoi

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 33
    Points : 21
    Points
    21
    Par défaut
    Salut,
    dans cette vidéo ils font juste du picking, si tu fait ça le plus bourrin possible, tu garde juste ta liste de triangle et du détermine quel triangle intersecte le rayon de ton curseur.
    Si tu veux faire du path finding, il y a juste à sauvegarder une hauteur pour chaque case, car la position 3D de case tu l'as rapidement si elles font toute la même taille, c'est juste une formule en function de ses index i et j

    je sais pas si ça a l'air clair là ?

  8. #8
    Yordarus
    Invité(e)
    Par défaut
    Si t'inquiète.

    Finalement j'ai réussi à quelque chose en combinant la map fait sur le tuto FlightSim de riemers.net et le terrain picking de son livre.

    Par contre c'est la loose car suivant la position de la camera ça ne marche pas, pire encore, peu importe la camera, le picking ne marche pas sur toute la dernière colone.

Discussions similaires

  1. Réponses: 1
    Dernier message: 18/05/2012, 17h23
  2. Gestion d'une map pour jeu 2D
    Par G'rominet dans le forum Développement 2D, 3D et Jeux
    Réponses: 40
    Dernier message: 13/07/2009, 10h49
  3. [2D] Gestion d'une map Worms-like
    Par nicolas.pied dans le forum Développement 2D, 3D et Jeux
    Réponses: 3
    Dernier message: 02/03/2006, 13h36
  4. [Clavier] Gestion d'une invite de commandes
    Par Damian dans le forum Assembleur
    Réponses: 9
    Dernier message: 28/04/2005, 16h41
  5. gestion d'une erreur
    Par Jeannotc dans le forum Bases de données
    Réponses: 8
    Dernier message: 25/06/2004, 18h04

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