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 :

Animation skeletale sous openGL


Sujet :

OpenGL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 41
    Par défaut Animation skeletale sous openGL
    Bonjour, je recherche une piste pour programmer les mouvements d'une main.
    J'ai une bonne maitrise du logiciel 3D studio max pour ce qui est de la modélisation et du "rigging" et une base solide en openGL. Mais comment faire pour programmer les bones en openGL ?
    J'ai fais une petite recherche et je ne trouve pas vraiment de documentation sur ce sujet. Peut-être sauriez-vous m'éclairer !

    J'ai songé à utiliser un moteur 3d qui en plus de loader mon 3ds, me permettrait de facilité la programmation des mouvements, mais j'aime bien programmer sans l'aide d'api externe. Mais si c'est trop compliquer, je m'orienterai vers ce second choix.

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    366
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 366
    Par défaut
    tu as deux soucis:

    -le chargement du mesh

    -l affichage du mesh


    Pour le premier point, je ne sais pas ce que tu utilises comme Exporter (cote 3ds) et loader (API C) mais il te faut deja t assurer que les influences des bones sont bien exporte

    Pour le deuxieme point, a priori tu as deux solutions:

    -utiliser des shader pour faire du "palette matrix skinning"

    -l API OpenGL propose je crois bien la possibilite d'avoir plusieurs matrix MODELVIEW (0..31). Je ne l'ai pas sous les yeux, mais le header "gl.h" doit probablement t offrir un certain nombre de fonction qui permettent d'affecter des indices de matrix de bones ainsi que des poids a chaque vertice

  3. #3
    Membre averti
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 41
    Par défaut
    Pour le loader il n'y a pas vraiment de problèmes, je peux coder un loader md3 avec toute la documentation disponible a propos de ce format, nehe à même un tuto sur le fichier milkshape...

    Pour les shader ca ma l'air intéressant... il faudrait que je jette un coup d'oeuil

    Pour ce qui est du MODELVIEW je ne comprend pas en quoi ca peut être utile ?

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 366
    Par défaut
    l extension ARB_matrix_palette permet de faire de l animation par squelette.

    Pour resumer, tu disposes d un mesh representant un corps humain (pour toi c est une main mais ca change rien).

    si tu veux dessiner ce meme corps, mais avec le bras gauche leve, il va falloir deformer le mesh localement.

    chaque vertices du corps est associe a un os. Tu veux deformer le corps, donc tu ne deformes que les vertices attache a cet os. Pour cela chaque os, dispose d'une matrice de deformation (MODELVIEW0 ... 31). Voila l interet des differente matrices:

    Pour un meme triangle, tu va avoir des vertices qui sont lies a un os et les autres a un autre os. Une seule matrice MODELVIEW ne te permettrais pas de faire ce changement de deformation au sein d un meme triangle.


    note : En fait, les vertices peuvent etre attaches a plusieurs os (comme le coude qui est a la fois un peu sur l avant bras et un peu sur le haut du bras). Donc en fait, les vertices sont lies a plusieurs matrices de transformations avec des poids differents.

    Quand on deformera l'avant bras et le haut du squelette, le coude lui subira un peu des deux deformations...

    C'est pour ca que l on parle de "matrix palette" ... car on a toute une palette de matrices de deformation

  5. #5
    Membre averti
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 41
    Par défaut
    Merci bien ta réponse me semble clair ! j'ai hâte de tester tout ça !


Discussions similaires

  1. Comment animer sous opengl ?
    Par AsmCode dans le forum OpenGL
    Réponses: 4
    Dernier message: 17/10/2005, 12h32
  2. Incohérence des textures sous OpenGL
    Par Nicuvëo / Calëtunda dans le forum OpenGL
    Réponses: 3
    Dernier message: 22/12/2004, 10h27
  3. Gestion de la souris sous opengl
    Par MaxPayne dans le forum GLUT
    Réponses: 2
    Dernier message: 05/12/2004, 16h35
  4. texture sous opengl : objets complexes
    Par pouleriguen dans le forum OpenGL
    Réponses: 1
    Dernier message: 20/11/2004, 19h47
  5. Réponses: 2
    Dernier message: 14/04/2004, 19h37

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