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

Moteurs 3D Discussion :

environnement 3d virtuel base


Sujet :

Moteurs 3D

  1. #1
    Candidat au Club
    Homme Profil pro
    Analyse système
    Inscrit en
    Avril 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Albanie

    Informations professionnelles :
    Activité : Analyse système
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2018
    Messages : 5
    Points : 3
    Points
    3
    Par défaut environnement 3d virtuel base
    Bonjour,

    je ne sais pas comment créer un environnement 3d virtuel mais j'ai un début d'idée, je commence par déclarer world[x][y][z][maxNbObj][values], avec x, y et z les coordonnées des cubes contenant des objets, maxNbObj le nombre maximal d'objet par cube et enfin values, le type d'objet ses coordonnées dans le cube etc toute caractéristique propre à l'objet. Maintenant je suis confronté à un problème qui est lors du passage de ce tableau en paramètre des fonctoin pour travailler dessus qui est assez lourd et m'oblige à chaque nouvelle fonction qui la traite à y réécrire toutes les tailles du tableau, je connais le copier coller mais reste que je ne trouve pas ça très propre. Je ne demande qu'à utiliser la bonne méthode pour la base de mon environnement 3d virtuel, pouvez-vous m'expliquer si la méthode que j'utilise est bonne ou y a t'il une méthode plus conventionnelle et plus adapté pour la base d'un environnement 3d vituel ?

    Merci d'avance.

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


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 859
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 859
    Points : 218 580
    Points
    218 580
    Billets dans le blog
    120
    Par défaut
    Bonjour,

    je connais le copier coller
    Sauf qu'en programmation, le copier coller, c'est synonyme du mal (il ne faut jamais dupliquer du code).

    Je ne comprends pas pourquoi le X;Y;Z fait partie des indices du tableau. Si vous avez un objet à X = 20000 et Y = 20000 ... vous aurez de grand trous dans le tableau, mais en plus, la consommation mémoire va grimper très rapidement.
    De même, cela vous empêche de gérer les objet à X = 1.5.

    Finalement, la position ne devrait pas être indice de tableau, mais propriété de l'objet. Ce qui veut dire que le tableau sera :
    et ce sera un tableau d'Objet, qui contiendra au moins, la position (X;Y;Z).
    Pour l'affichage, il suffira de parcourir les N objets du tableaux.

    D'ailleurs, ce sera un tableau dynamique.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

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

  3. #3
    Candidat au Club
    Homme Profil pro
    Analyse système
    Inscrit en
    Avril 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Albanie

    Informations professionnelles :
    Activité : Analyse système
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2018
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Merci pour ces conseils. J'ai aussi penser à mettre tous les objets dans une liste mais il y a forcément un moment ou le monde sera trop volumineux pour être afficher d'un trait. Au quel cas il faudrait le fragmenter. D'où cela world[x][y][z][maxNbObj][values] dont je vais abandonner la dernière dimension [values] au profit des classes qui m'ont l'air d'après ma toute récente première expérience d'utilisation assez efficace et agréable à utiliser! Si je suppose que toutes les valeurs du tableau word seraient utiles, quelle structure de données serait bien à adopter pour ce monde virtuel ?

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


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 859
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 859
    Points : 218 580
    Points
    218 580
    Billets dans le blog
    120
    Par défaut
    Il ne faut pas le fragmenter ainsi, car le spectateur peut voir N blocs en même temps. Mais l'idée est loin d'être bête. Vous devriez regarder du côté des octree et autre algorithme de partitionnement de l'espace.
    Et aussi regarder ce qu'est le frustrum culling .
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

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

Discussions similaires

  1. base repliquee et environnement multi-utilisateur
    Par caro2552 dans le forum Sécurité
    Réponses: 7
    Dernier message: 16/05/2008, 22h16
  2. Construction d'un environnement virtuel
    Par pouette13 dans le forum MATLAB
    Réponses: 1
    Dernier message: 20/06/2007, 14h02
  3. Constructeurs et classe de base virtuelle
    Par Paul Atreide dans le forum C++
    Réponses: 7
    Dernier message: 06/11/2006, 17h04
  4. Dynamic_cast & Base class virtuelle
    Par taron dans le forum C++
    Réponses: 5
    Dernier message: 11/02/2006, 20h45
  5. Réponses: 6
    Dernier message: 12/07/2005, 12h20

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