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

OpenGL Discussion :

Détection du personnage ciblé


Sujet :

OpenGL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 74
    Par défaut Détection du personnage ciblé
    Bonjour,

    Je développe actuellement un jeu vidéo de type FPS.

    Lorsqu'un personnage tir, pour savoir si un personnage est ciblé, je dessine la scène sans les personnages, je prélève le pixel du centre de l'écran puis je mesure sa profondeur.

    Ensuite, j'ajoute les personnes un par un en prélevant à chaque fois le pixel du centre de l'écran.

    Si la profondeur du pixel a diminué, le personnage qui vient d'être dessiné est alors devant l'objectif de l'arme.

    Lorsque tout les personnages son dessiné, je finis par connaitre le personnage ciblé.

    Cette méthode fonctionne très bien mais a ses limites. En effet, lorsque je récupère les pixels, le taux de transfert de la carte graphique vers l'ordinateur étant assez limité, je doute que la méthode soit très optimisée lorsqu'il y a de nombreux personnages.

    Je voulais donc savoir s'il existe une méthode aussi efficace qui produise le même effet tout aussi rapidement ou d'une complexité qui ne soit pas proportionnelle au nombre de personnages mis en scène.

    Merci de me proposer des solutions si ce n'est l'ultime solution.

    PS : Voici une capture vidéo du jeu : [ame]http://www.youtube.com/watch?v=YkF4SXLsI2A[/ame]

  2. #2
    Membre Expert
    Avatar de Ti-R
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Avril 2003
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 683
    Par défaut
    Une meilleure solution est d'utiliser une scène de picking.

    Le principe est d'avoir ta scène de rendu et d'avoir une scène de pick (qui peut être différente de la scène de rendu (ne pas avoir de particules dedans par exemple))
    Lorsque tu as besoin de savoir si un tir touche un mesh, il suffit interroger la scène de picking qui renvoie directement ton mesh associé.

    Si tu veux un exemple, regarde un moteur de type irrlicht.

    Cela permet en plus de gérer des collisions bien plus complexes qui ne sont pas rendu.

Discussions similaires

  1. Animer des personnages 3D
    Par mat.M dans le forum DirectX
    Réponses: 6
    Dernier message: 16/06/2004, 12h28
  2. détection de player
    Par mat10000 dans le forum Flash
    Réponses: 8
    Dernier message: 23/10/2003, 17h36
  3. Détection MySql
    Par gjullien dans le forum Bases de données
    Réponses: 5
    Dernier message: 20/08/2003, 19h15
  4. Détections avec WebBrowser
    Par Wazo_Sportive dans le forum Composants VCL
    Réponses: 4
    Dernier message: 11/08/2002, 20h32
  5. Détection de 2 touches appuyées
    Par cyrose dans le forum C++Builder
    Réponses: 2
    Dernier message: 26/07/2002, 17h25

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