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

Ogre Discussion :

Gérer les Collisions


Sujet :

Ogre

  1. #1
    Nouveau membre du Club
    Inscrit en
    Septembre 2007
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 53
    Points : 36
    Points
    36
    Par défaut Gérer les Collisions
    Bonjour,

    j'aimerais qu'on m'explique la manière la plus simple pour gérer les collisions dans Ogre (faire en sorte qu'un perso ne traverse pas les murs, je ne cherche pas à interargir avec le décor).
    Faut-il utiliser les ray ou utiliser ODE ? (faut-il installer qqchose supplémentaire pour ODE ?).

    Merci et bonne journée.
    Charlie

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 537
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 537
    Points : 2 548
    Points
    2 548
    Par défaut
    Mauvais topic. Ogre est un moteur 3d, il affiche ce que tu lui demande d'afficher c'est tout.

    Le probleme que tu cite est un probleme de physique. Tu peux utiliser ode, newton, ou un autre du genre pour le reosudre, ou bien coder toi meme. Newton semble plus avancé que ode, mais il n'est pas libre.

    Va aussi voir du coté de SWIFT, je sais aps ce qu'il vaut, mais leur site est un mine d'infos tres utile, donc ca doit pas etre completement nul http://www.cs.unc.edu/~geom/SWIFT/.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Septembre 2007
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 53
    Points : 36
    Points
    36
    Par défaut
    Je suis à peu près certain qu'il est possible de le faire en utilisant les fonctions RaySceneQueries.
    Si vous avez des conseils.

    Bonne journée.

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 96
    Points : 137
    Points
    137
    Par défaut
    je te déconseille d'utiliser les lancer de rayons pour les collisions. ce n'est pas fait pour, ça va le faire très mal
    et je ne conseille pas non plus de débuter en utilisant un moteur physique, on croit que c'est plus facile parce que les calculs de collision sont déjà faits mais en fait non... si on a pas codé des collisions soi-même on ne peut pas réellement comprendre le fonctionnement d'un moteur physique et on va s'en servir n'importe comment.

    il faut mettre les mains dans le cambouis algorithmique, les collisions c'est l'essentiel du moteur d'un jeu c'est là que tu définis comment un personnage ou un objet réagit aux sols, murs, pentes, comment les objets s'entrechoquent ou interagissent...

    commencer par des collisions force brute avec des formes simples (sphere, boite, triangle...)
    ensuite ranger tout ça dans une structure (tu peux commencer avec un kd tree)

    bon courage!
    google is your friend

  5. #5
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 362
    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 362
    Points : 20 391
    Points
    20 391
    Par défaut
    Utiliser un moteur de phyisque pour ce genre d'action c'est un peu comme prendre un marteau-pilon pour écraser des mouches ça va alourdir le projet.
    Y'a plus simple comme méthode , par exemple il suffit de déterminer la surface qu'occupe le mur au sol c.a.d sur les axes x,y et z=0 et savoir si le joueur est dans cette zone.
    Sinon tu peux prendre la technique de la subdivision spatiale comme le fait Doom et Quake avec les BSP ( arbres binaires ) mais c'est un peu complexe à mettre en oeuvre

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 96
    Points : 137
    Points
    137
    Par défaut
    il n'y a pas de méthode facile pour calculer les collisions (sinon tous les lycéens produiraient des jeux sur CD-Rom). Developper des jeux c'est un métier, ça s'apprend et c'est dur... et pour un premier projet je déconseille vivement la 3d, c'est déjà assez compliqué rien qu'en 2d

    voilà quelques documents pour avoir des pistes 3d: http://www.gamespp.com/algorithms/collisiondetection/

    la subdivision dont tu parles c'est ce que je disais à la fin de mon post: ranger les données dans une structure
    je citais en exemple les kd-trees, qui font partie de la famille des arbres bsp dont tu parles, et qui sont très utilisés pour les collisions
    google is your friend

  7. #7
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 362
    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 362
    Points : 20 391
    Points
    20 391
    Par défaut
    Citation Envoyé par bob25 Voir le message
    il n'y a pas de méthode facile pour calculer les collisions (sinon tous les lycéens produiraient des jeux sur CD-Rom). Developper des jeux c'est un métier, ça s'apprend et c'est dur... et pour un premier projet je déconseille vivement la 3d, c'est déjà assez compliqué rien qu'en 2d
    Absolument et à cause de cela on peut rater tout un projet.
    C'est vraiment l'obstacle majeur d'ailleurs même les jeux commerciaux sont confrontés Age Of Empire confrontés à ce genre de problème.
    Sur le projet que je développe je me suis arraché les cheveux de la tête à cause de cela.
    voilà quelques documents pour avoir des pistes 3d: http://www.gamespp.com/algorithms/collisiondetection/
    merci pour le lien cela m'a donné une idée lumineuse justement
    la subdivision dont tu parles c'est ce que je disais à la fin de mon post: ranger les données dans une structure
    je citais en exemple les kd-trees, qui font partie de la famille des arbres bsp
    dont tu parles, et qui sont très utilisés pour les collisions
    exact j'ai lu trop rapidement

  8. #8
    Membre à l'essai
    Inscrit en
    Mars 2006
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 26
    Points : 22
    Points
    22
    Par défaut
    Hello !

    Je n'ai pas encore touché aux collisions, mais vos réponses m'étonnent. C'est si dur que cela de les gérer ?

    Une collision entre deux objet, ce n'est pas lorsque ils sont trop prets l'un de l'autre simplement ?

    Ou alors vous parler de considérer un choc avec des caractéristiques initiales ( vitesse, poids, ... ) et de considérer l'emplacement de départ du choc ( en fonction de l'endroit ou l'on tapera le ballon, il partira dans telle ou telle direction ) ?

  9. #9
    Membre confirmé
    Avatar de gusgus
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    500
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 500
    Points : 641
    Points
    641
    Par défaut
    Oui,gerer les collisons c'est complexe.D'abord,c'est de colisions entre triangle,ou autre,pas juste savoir si c'est pres d'un objet ou pas
    De plus,de nombreux problemes se posent,les objets si ils sont trop rapides peuvent passer les uns dans le autres etc...

  10. #10
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 17
    Points : 16
    Points
    16
    Par défaut
    C'est pour sa qu'on utilise les rayCast mais c'est pas simple a mettre en oeuvre

Discussions similaires

  1. Gérer le plus simplement possible les collisions
    Par klakman dans le forum Physique
    Réponses: 5
    Dernier message: 27/11/2009, 16h03
  2. Comment gérer les collisions ?
    Par Dodin dans le forum OpenSceneGraph
    Réponses: 4
    Dernier message: 21/05/2009, 12h46
  3. jeu de platte forme 2D : comment gérer les collisions
    Par dawadam dans le forum Physique
    Réponses: 12
    Dernier message: 27/06/2008, 16h43
  4. Gérer les collisions
    Par gazier20 dans le forum Physique
    Réponses: 5
    Dernier message: 13/05/2006, 09h34
  5. Méthode simple pour gérer les collisions
    Par Hyoga dans le forum OpenGL
    Réponses: 2
    Dernier message: 19/02/2005, 13h43

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