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 :

C++-OpenGL: Faire marcher des cubes (walking cycle) tableau?


Sujet :

Développement 2D, 3D et Jeux

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Décembre 2006
    Messages : 54
    Points : 26
    Points
    26
    Par défaut C++-OpenGL: Faire marcher des cubes (walking cycle) tableau?
    Salut,

    Mon objectif est de faire des jambes simples qui marche!
    Je dois faire cela en C++ et OpenGL.

    Cependant pour faire un beau mouvement de pas je dois reproduire le "Walking cycle" (cycle de marche?).

    Techniquement les "jambes" sont simplement trois cubes, un jambes hautes, jambe basse et pied. Je pense quils seront tous rattaches a un autre cube, la hanche...
    Je suis arriver a deconstruire le "walking cycle" et voir que chaque pas sont composes de simples rotations et translations, genre quand on souleve la cheville on la rotate un peu....


    Au final jai une sorte de tableau fait moi meme sur papier qui me dit>

    a 0% quand on va faire un pas, a 100% quand le pas est fait, (donc on recommance a 0% pour un autre pas et tout...)

    0% rotation de la jambe haute dun angle de 0%
    5% rotation de la jambe haute dun angle de 10%
    10% rotation de la jambe haute dun angle de 30%
    15%
    ...
    95%
    100% enfin voila.


    Puis pareil car la jambe basse bouge aussi, et le pied aussi!

    Donc ils ont leur propre mouvement.


    Au final jai une sorte de tableau sur papier, qui a toutes ses valeurs (le pourcentage, et langle de rotation).



    Or mon probleme est je ne vois pas ce que je peut en faire!! Je ne suis meme pas sur que cest la bonne methode...


    Je pensais, que le pouvais dire: a chaque secondes, refait tout les etapes (les valeurs en pourcentage) a la suite, en meme temps pour chaque "membres" de la jambe?


    Je suis conceptuellement perdu, limité par mes bases en C++ et mon incomprehension des tableaux....





    Merci de me mettre sur une piste si vous pouvez!!


  2. #2
    Expert confirmé
    Avatar de shenron666
    Homme Profil pro
    avancé
    Inscrit en
    Avril 2005
    Messages
    2 538
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : avancé

    Informations forums :
    Inscription : Avril 2005
    Messages : 2 538
    Points : 5 224
    Points
    5 224
    Par défaut
    Citation Envoyé par corseb
    Salut
    Salut

    Je suis conceptuellement perdu, limité par mes bases en C++ et mon incomprehension des tableaux....
    déjà, ça va pas être facile si tu n'as que les bases en C++
    tu n'est pas totalement débutant non plus j'espère

    Je suis arriver a deconstruire le "walking cycle" et voir que chaque pas sont composes de simples rotations et translations, genre quand on souleve la cheville on la rotate un peu....
    déjà, je pense que tu pars d'un mauvais constat
    chaque pas est composé de rotations
    pas de translations
    ton pied s'est déjà éloigné de ton genou ? tête de ton torse ?
    si oui, je t'invite à consulter un médecin

    Au final jai une sorte de tableau fait moi meme sur papier qui me dit>

    a 0% quand on va faire un pas, a 100% quand le pas est fait, (donc on recommance a 0% pour un autre pas et tout...)

    0% rotation de la jambe haute dun angle de 0%
    5% rotation de la jambe haute dun angle de 10%
    10% rotation de la jambe haute dun angle de 30%
    15%
    ...
    95%
    100% enfin voila.
    tiens c'est marrant mais je vois pas de translation

    Au final jai une sorte de tableau sur papier, qui a toutes ses valeurs (le pourcentage, et langle de rotation).

    Or mon probleme est je ne vois pas ce que je peut en faire!! Je ne suis meme pas sur que cest la bonne methode...

    Je pensais, que le pouvais dire: a chaque secondes, refait tout les etapes (les valeurs en pourcentage) a la suite, en meme temps pour chaque "membres" de la jambe?
    ou bien tu calcules une image tous les x temps (en millisecondes la plupart du temps)
    ou bien tu fais cela proprement et tu calcules le temps qui s'est écoulé depuis le dernier calcul et tu interpoles

    si tu décomposes bien en classes hiérarchisées l'anatomie de ton mouvement
    avec ton tableau comme référence pour savoir que mouvement faire
    tu devrais réussir à générer ton animation

    genre le point "fixe" c'est le bassin
    du bassin partent les 2 jambes hautes
    donc le point de rotation d'une jambe haute c'est le bassin
    sur la jambe haute, tu as la jambe basse qui est attachée
    le point de rotation de la jambe basse est donc le genou
    quand au pied, il est attaché à la jambe basse
    avec comme point de rotation : la cheville

    avec opengl :
    tu fais des translations pour déplacer le point de rotation et ainsi changer ton repère
    avec les glPushMatrix et glPopMatrix, on gère facilement une hiérarchie dans les mouvements
    sur gamedev, il y a un article (en anglais, désolé) qui t'aidera certainement à comprendre tout ça
    http://www.gamedev.net/reference/art...rticle1267.asp

  3. #3
    Membre émérite
    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 : 45
    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
    Points : 2 568
    Points
    2 568
    Par défaut
    Le problème est peut être la méthode de départ ?

    Car cela fait sûrement plus de 10 ans ou plus qu'on ne fait plus ainsi.

    Il y a des logiciels qui sont là pour animer, de type Blender, 3DSMax, Maya, XSI...

    Donc la personne anime son personnage dans un logiciel externe, ensuite le travail du programmeur est de charger le modèle (lire le fichier et formater les données), et d'afficher son comportement comme il a été sauvé.

    Et il suffit seulement de quelques clés d'animation pour faire "marcher" ton modèle, avec de l'interpolation non-linéaire pour générer les coordonnées intermédiaires.

Discussions similaires

  1. Réponses: 15
    Dernier message: 28/11/2012, 23h42
  2. Réponses: 2
    Dernier message: 08/12/2011, 17h31
  3. faire défiler des images dans un tableau
    Par cyril_bft dans le forum Général JavaScript
    Réponses: 21
    Dernier message: 15/12/2010, 13h55
  4. faire défiler des colonnes d'un tableau
    Par lelectronique.com dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 16/11/2009, 14h59
  5. [IIS7] faire marcher des CGI .exe
    Par khayyam90 dans le forum Windows Serveur
    Réponses: 1
    Dernier message: 10/07/2008, 21h13

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