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 :

relation entre les objets dans un fichier de mouvement


Sujet :

Développement 2D, 3D et Jeux

  1. #1
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2007
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2007
    Messages : 610
    Points : 66
    Points
    66
    Par défaut relation entre les objets dans un fichier de mouvement
    Bonjour,
    Peut être c'est pas le bon droit où je dois mettre ma question mais je vais le poser comme même
    dans un fichier de mouvement (bvh par exemple ) où le mouvement c'est la préhension d'un objet , comme on doit connaitre la position de l'objet et les moments où il y a une interaction avec l'objet , parce que dans le fichier .bvh par exemple il y a que les positions des jointures et les angles dans chaque frame

  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,

    À vrai dire, votre question n'est pas très claire. Pouvez-vous préciser ou réexpliquer avec une autre formulation (que souhaitez-vous faire, quel est le problème).
    Merci
    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
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2007
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2007
    Messages : 610
    Points : 66
    Points
    66
    Par défaut
    Bonjour,

    À vrai dire, votre question n'est pas très claire. Pouvez-vous préciser ou réexpliquer avec une autre formulation (que souhaitez-vous faire, quel est le problème).
    Merci
    ok ,

    1-j'ai modélisé un humanoïde virtuel
    2-j'ai fait un analyseur qui fait lecture d'un fichier .bvh en c++
    3-j'ai utiliser les informations du fichier.bvh pour faire bouger mon humanoïde (ogre,c++) -je n'ai pas utilisé blender ou 3dsmax pour faire cette étape

    pour les mouvement walk , run ..... où il n y a pas une interaction avec l'environnement je n'ai pas un problème , mais maintenant je veux tester des fichiers où il y a des interactions avec les objet dans l'environnement
    par exemple le sujet doit toucher un objet lors de son mouvement.

    4- lorsque je lis les ficheirs.bvh je les lis interactivement c-a-d y a un boutton dans l'application "load bvh file" je sélectionne un fichier et je le lis

    ma question :
    moi lorsque je récupère les informations de fichier .bvh ils sont juste des angles et des position des jointures
    mais il n y a pas une description qui dit il y a un objet dans la position x ou y
    j'ai voulu connaitre cette information pour mettre un objet dans cette position et tester est ce que mon humanoïde va toucher cette objet ou non

    est ce que j'ai bien expliquer maintenant mon problème ?

  4. #4
    Expert éminent

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 813
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 813
    Points : 7 638
    Points
    7 638
    Par défaut
    Salut

    Citation Envoyé par info_sara Voir le message
    mais il n y a pas une description qui dit il y a un objet dans la position x ou y
    Il peut très bien y avoir cette information dans le fichier bvh, il suffit qu'il y ait un marqueur sur l'objet en question.
    Si il n'y est pas... ça va être dur de trouver sa position.


    Citation Envoyé par info_sara Voir le message
    j'ai voulu connaitre cette information pour mettre un objet dans cette position et tester est ce que mon humanoïde va toucher cette objet ou non
    A part interpoler/extrapoler la position de l'objet en fonction du mouvement et des différentes positions de la main de ton humanoïde, je ne vois pas d'autre solution...
    En même temps, si c'est pour "tester" que ton humanoïde touche l'objet, tu peux le mettre n'importe où! Ou tout du moins le positionner "à peu près"...
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

  5. #5
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 214
    Points : 10 140
    Points
    10 140
    Par défaut
    Citation Envoyé par info_sara Voir le message
    ma question :
    moi lorsque je récupère les informations de fichier .bvh ils sont juste des angles et des position des jointures
    mais il n y a pas une description qui dit il y a un objet dans la position x ou y
    j'ai voulu connaitre cette information pour mettre un objet dans cette position et tester est ce que mon humanoïde va toucher cette objet ou non

    est ce que j'ai bien expliquer maintenant mon problème ?
    Moi je pense avoir bien compris , par contre ou j'ai pas compris c'est pourquoi tu veux lire le .bvh pour tester les collisions ?

    Pour etre plus clair , c'est normal que le .bvh ne possède pas les positions , sachant que c'est pas son role , c'est un format pour le rendu (et animation) , c'est comme si tu me disais le .png , ben il possède pas de position , c'est a toi de décider ou tu affiche.
    Ogre3D fournit forcément des méthodes pour choisir ou tu affiche ton objet 3D.

    Après les test de collision en 3D sont assez complexe , sauf si tu veux faire juste un test de collision de hitbox ce qui est beaucoup plus simple.

  6. #6
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2007
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2007
    Messages : 610
    Points : 66
    Points
    66
    Par défaut
    Citation Envoyé par plegat
    En même temps, si c'est pour "tester" que ton humanoïde touche l'objet, tu peux le mettre n'importe où! Ou tout du moins le positionner "à peu près"...
    je pense pas que je peux faire ça , parce que je ne connus pas à quelle frame la main va toucher l'objet .
    Citation Envoyé par plegat
    Il peut très bien y avoir cette information dans le fichier bvh, il suffit qu'il y ait un marqueur sur l'objet en question.
    alors tu me propose d'utiliser mes propres fichiers ? parce que je télécharge les fichiers.bvh depuis le net
    Citation Envoyé par plegat Voir le message
    Moi je pense avoir bien compris , par contre ou j'ai pas compris c'est pourquoi tu veux lire le .bvh pour tester les collisions ?
    j'ai voulu récupérer les position des objet dans la scène réelle ,
    parce que je veux appliquer le même mouvement sur un autre humanoïde qui n'est pas les mêmes caractéristiques que le sujet original
    alors, si je connus que le sujet original doit toucher l'objet qui dans la position x au frame n , je dois forcer le deuxième humanoïde à toucher le même objet dans la même frame
    vous m'avez compris maintenant ?
    Ogre3D fournit forcément des méthodes pour choisir ou tu affiche ton objet 3D.
    Oui bien sûre mais je dois connaitre avant ça à quelle frame mon sujet touch l'objet dans la scène réelle

  7. #7
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 214
    Points : 10 140
    Points
    10 140
    Par défaut
    On gros tu fais déplacer ton personnage par animation ?
    En plus clair au lieu de faire bouger ces coordonnés , c'est animations qui possède le déplacement , si c'est le cas c'est clairement pas la bonne méthode.

    Il y a une animation de run par exemple le perso ne doit pas avancer , il avancera par rapport au coordonnés de position .

    genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if touche 'a' appuyer
        position.x += 1;
     
        //etc
    Après par rapport a ces coordonnés tu fera plusieurs test pour voir s'il entre en collision avec objet et modifier son vecteur vitesse.

  8. #8
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2007
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2007
    Messages : 610
    Points : 66
    Points
    66
    Par défaut
    On gros tu fais déplacer ton personnage par animation ?
    qu'est ce que vous voulez dire par animation ? comme animation state?
    non , je n'utilise pas animation , je map la positon de la racine de fichier .bvh au racine de l'humanoïde et orientation de chaque joint de fichier de mouvement au bones de l'humanoïde et tot ça en temps réel en runtime.
    En plus clair au lieu de faire bouger ces coordonnés , c'est animations qui possède le déplacement , si c'est le cas c'est clairement pas la bonne méthode.
    j'ai pas compris

  9. #9
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 214
    Points : 10 140
    Points
    10 140
    Par défaut
    Bon je vois vraiment pas le rapport entre l'animation et les collisions.
    Normalement tu as ton objet 3D , que tu peux déplacer (et effectivement faire les tests de collision) , et a coté tu peux faire jouer une animation si tu le veux.
    Donc on gros si mon perso se déplace 'joue ' animation run.
    Si ton animation de ton perso bouge trop (et que t'as pas envie que son genou par exemple rentre dans le mur) ben tu change la taille de la hitbox.

  10. #10
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2007
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2007
    Messages : 610
    Points : 66
    Points
    66
    Par défaut
    Je pense que vous n'avez pas compris mon problème réel
    je vais ré-expliquer

    si dans une expérimentation de capture de mouvement il y a une tasse , le mouvement est de marche ensuite toucher le tasse
    il ont capturer cette mouvement , nous avons maintenant un fichier .bvh

    dans le fichier.bvh il y a la description de la morphologie et l'animation de sujet (qui as fait expérimentation) mais il n'existe pas la description du tasse

    t'as compris maintenant je ne cherche pas à ajouter des objet dans la scène et tester la collision avec je cherche que représenter et positionner le tasse pour compléter l'animation
    t'as compris maintenant ?

  11. #11
    Inactif  

    Homme Profil pro
    Développeur multimédia
    Inscrit en
    Mars 2013
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur multimédia

    Informations forums :
    Inscription : Mars 2013
    Messages : 162
    Points : 261
    Points
    261
    Par défaut
    Il faut trouver la matrice de transformation de la main du personnage.

  12. #12
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 214
    Points : 10 140
    Points
    10 140
    Par défaut
    Oui oui j'ai compris x)

    Donc tu veux que la tasse fasse quoi , qu'elle reste dans la main de ton personnage ?
    Idée qui me viendrai a esprit pour ce genre de truc c'est attaché la tasse a une bone du personnage (la , la main).
    Vu que le personnage ne touche pas la tasse au debut , il faudrait que la tasse soit attaché a la bone a x frames (x étant quand on prend la tasse).

    Sauf si tu capture le mouvement des deux objet , la tu joue leur animation en même temps.

  13. #13
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2007
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2007
    Messages : 610
    Points : 66
    Points
    66
    Par défaut
    Donc tu veux que la tasse fasse quoi , qu'elle reste dans la main de ton personnage ?
    non

    mon problème c'est que je n'arrive pas à représenter le tasse je n'ai pas les informations de tasse dans le fichier .bvh c'est tout

    EDIT bon je peu modéliser un tasse mais où je vais le mettre ? dans le fichier .bvh ne dit pas qu'il y a dans la scene une tasse pourtant qu'il existe

  14. #14
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 214
    Points : 10 140
    Points
    10 140
    Par défaut
    tous dépend de ce que tu veux en faire de ta tasse x)

    Oui je le redirais jamais assez mais le bvh est juste un format de rendu , donc normal qu'il dit pas comment il doit intéragir avec les autres objet.
    c'est comme une image bmp ,il y aura pas les informations sur les autres image , comme il te dira pas comme intéragir avec les autres images.

    Donc que veut tu faire concrètement avec ta tasse ?
    tu peux très bien créer ton model de perso avec ta tasse , au moins tu fera jouer animation comme tu le veux (avec ta tasse dans le .bvh).

    sauf si tu veux une interaction particulière ?

  15. #15
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2007
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2007
    Messages : 610
    Points : 66
    Points
    66
    Par défaut
    Oui je le redirais jamais assez mais le bvh est juste un format de rendu , donc normal qu'il dit pas comment il doit intéragir avec les autres objet.
    c'est comme une image bmp ,il y aura pas les informations sur les autres image , comme il te dira pas comme interagir avec les autres images.
    Oui, malheureusement .
    Donc que veut tu faire concrètement avec ta tasse ?
    Bon, j'ai voulu lorsque je load le fichier où il y a une intercation avec le tasse
    je peux voir clairement la main de l'humanoïde touche le tasse
    parce que si je le positionne moi même il y a la possibilité lorsque je démarre l’exécution je ne tombe pas dans la vrais position de tasse , je ne vois pas que l'humanoïde touche le tasse parce que le tasse qui j'ai le positionné et loin

  16. #16
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 214
    Points : 10 140
    Points
    10 140
    Par défaut
    on revient a je que je disais auparavant.
    Si c'est quelque chose de static que tu veux faire (donc que ton perso prend la tasse) et ne fait que ça, alors ouais faire un animation comprenant le perso + tasse me semble le meilleur compromis , simplicité et rapide a faire.

    si tu veux un truc plus dynamic qu'il est capable de prendre la tasse , ou un verre , bref pouvoir changer , alors ouais faudra que la tasse soit attaché a la bone de la main.

    sauf si tu espère un algo simple pour que ton perso se déplace/prend la tasse ect , et la ça existe pas,ça demande de connaitre beaucoup de paramètre , il faudrait que ton perso se déplace ,jouais avec les bonne du bras pour prendre la tasse ect et pas sur que le resultat sera brillant .

  17. #17
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2007
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2007
    Messages : 610
    Points : 66
    Points
    66
    Par défaut
    Si c'est quelque chose de static que tu veux faire (donc que ton perso prend la tasse) et ne fait que ça, alors ouais faire un animation comprenant le perso + tasse me semble le meilleur compromis , simplicité et rapide a faire.
    OUi ça ce que je vais faire , reste que le problème de position de tasse , parce que le mouvement dans le fichier .bvh nous donne que le perso va prendre quelque chose (tasse). alors je dois trouver où je vais positionner mon tasse pour que lorsque je lis le fichier.bvh le perso touche vraiment le tasse c'est tout
    mais apparemment c'est difficile de trouver ça

    EDIT
    par eexmple dans ce site
    http://www.beyondmotion.com.au/free_motion.html
    pour le mouvement site on chair , lorsque on vois le vidéo il est clair que le perso s'assoit dans la chaise
    mais lorsque je modélise moi même la chaise (ou juste une boite) et parce que mon programme est en runtime je ne sais pas où je dois positionner la chaise pour que lorsque je li le fichier je trouve que mon perso s'assoit sur la chaise

  18. #18
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 214
    Points : 10 140
    Points
    10 140
    Par défaut
    Je connais pas trop le format .bvh donc je peux pas m'avancer ,mais en générale il y a les fichier de référence si je puis dire qui possédè les mesh (donc ton perso) et le squelette.
    Moi je pensais plus a rajouté a ce fichier la tasse , puis après animé ce fichier (qui comprendra donc le perso + la tasse).
    Mais effectivement il est probable que tu devra refaire animation.

    Ou alors tu fais animation de la tasse a part et tu joue les animations en même temps ,après pour la position faudra un peu deviner

    Après je connais juste le format de valve et de id tech (smd et md3/md5).

  19. #19
    Expert éminent

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 813
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 813
    Points : 7 638
    Points
    7 638
    Par défaut
    Citation Envoyé par info_sara;7276257
    par eexmple dans ce site
    [URL="http://www.beyondmotion.com.au/free_motion.html"
    http://www.beyondmotion.com.au/free_motion.html[/URL]
    pour le mouvement site on chair , lorsque on vois le vidéo il est clair que le perso s'assoit dans la chaise
    mais lorsque je modélise moi même la chaise (ou juste une boite) et parce que mon programme est en runtime je ne sais pas où je dois positionner la chaise pour que lorsque je li le fichier je trouve que mon perso s'assoit sur la chaise
    Tu repères la position des fesses, elle est dessous...

    Plus sérieusement, comment veux-tu faire un programme qui détecte automatiquement la position de la tasse ou la position de la chaise? Imagine que tu y arrives... bah zut, demain tu vas ouvrir un bvh qui fait "je mets mon chapeau sur la tête". Ah bah zut, c'est pas prévu de repérer le chapeau...

    Je persiste dans mon explication... tu connais ton animation bvh, tu peux donc savoir où tu dois positionner ta tasse. Il suffit de l'importer dans Blender par exemple, tu repères le mouvement de la main, et à la frame qui va bien, tu repères la position de la tasse. C'est exactement comme ça que l'on fait en animation 3D (sauf quand on a un - voire des - marqueur sur l'objet avec lequel on interagit). En anim 3D, on importe les animations bvh, et on règle le monde autour pour que ça "colle". Mais ça ne se fait pas automatiquement... ou alors il te faut un bvh avec des marqueurs sur l'objet, mais ça doit être assez rare...

    Rien ne t'empêche ensuite d'ailleurs de créer un fichier additionnel, dans lequel tu vas renseigner le mesh de l'objet et sa position. Comme ça quand tu ouvres le bvh, il va chercher automatiquement le fichier associé pour les objets.
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

Discussions similaires

  1. [Débutant] relations entre les interfaces dans c++ Builder 6
    Par Imene MI dans le forum C++Builder
    Réponses: 9
    Dernier message: 05/05/2015, 11h38
  2. Réponses: 4
    Dernier message: 20/12/2011, 12h50
  3. Réponses: 3
    Dernier message: 09/05/2011, 19h34
  4. Question sur les relations entre les objets
    Par kedare dans le forum Ruby on Rails
    Réponses: 4
    Dernier message: 18/04/2008, 14h13
  5. Réponses: 6
    Dernier message: 18/02/2008, 23h24

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