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 :

contrôler 3d personage avec le clavier et souris


Sujet :

Développement 2D, 3D et Jeux

  1. #1
    Futur Membre du Club
    Inscrit en
    Septembre 2013
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Septembre 2013
    Messages : 9
    Points : 6
    Points
    6
    Par défaut contrôler 3d personage avec le clavier et souris
    Bonjours à tous,

    je veux poser quelques questions pour pouvoirs contrôler un caractère en 3d en utilisant c++ OpenGL sdl2

    1) j'ai modéliser un personnage sans animation avec blender quel format choisir pour exporter ce caractère à OpenGL?

    2) Est ce que j'ai besoins d'une skleton pour animer mon caractère? Est ce que je l'exporte avec le model 3d?

    3)Comment l’importer à mon application OpenGL. La bibliothèque de OpenGL est-elle capable d'importer les model 3d ou j'ai besoin d'une autre bibliothèque.

    4)Comment contrôler les mouvement de ce personnage avec la bibliothèque sdl2? Est ce qu'elle est suffisante?

    Je ai besoin d'avoir tous les détails à à propos ce sujet.

    merci d’avance.

  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,

    1) Le format OBJ
    2) C'est une question pour les artistes. Je crois qu'il est mieux d'avoir un squelette pour l'animer et oui, il faudra l'exporter (je ne savais pas que l'on peut faire autrement). Mais j'aimerai la réponse de notre spécialiste Dabou Master sur ce point.
    3) OpenGL ne sait presque rien faire ... enfin, ne sait faire que le rendu. Je vous conseille Assimp -> http://jeux.developpez.com/tutoriels...ent-de-modele/
    4) Assimp devrait vous fournir tout ce qu'il faut pour faire le controle, mais il reste, qu'il y a une assez grande partie à faire vous même (dans le shader, ou dans votre programme)
    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
    Futur Membre du Club
    Inscrit en
    Septembre 2013
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Septembre 2013
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    merci pour les repenses.

    Est-ce-que la format Obj exporter tous les détail de mon model? (texture animation si il y avais, lumière si c'est une lampe).

    J'ai fait des autre recherche et j'ai trouver que j'ai besoin d'un moteur de jeux pour faire tous je crois que Assimp exporte juste les models et il ne les anime pas.

  4. #4
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 361
    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 361
    Points : 20 379
    Points
    20 379
    Par défaut
    Citation Envoyé par SuperPhenix Voir le message
    1) j'ai modéliser un caractère sans animation avec blinder quel format choisir pour exporter ce caractère à OpenGL?
    ça serait possible de s'exprimer un peu en bon Français ?
    Par caractère je suppose que c'est un personnage ?
    Quand j'ai lu le message j'ai pensé à l'animation de lettres à l'écran
    En plus c'est pas blinder mais Blender

    Citation Envoyé par SuperPhenix Voir le message
    4)Comment contrôler les mouvement de ce personnage avec la bibliothèque sdl2? Est ce qu'elle est suffisante?
    je n'ai pas fait le tour de SDL2 et de ses fonctionnalités mais SDL version 1 ne proposait aucune de ces fonctionnalités.
    Si tu veux animer un personnage il faut construire une hiérarchie de membres, utiliser la logique de la cinématique inverse.
    Pour construire une hiérarchie des membres on utilise préférablement une structure sous forme d'arbre binaire ou arborescence.

    En fait c'est pas trop compliqué, le noeud principal c'est le corps puis on ajoute un noeud le cou et un noeud fils la tête.
    Procéder de même pour les jambes et les bras...

  5. #5
    Futur Membre du Club
    Inscrit en
    Septembre 2013
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Septembre 2013
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    je pense que SDL2 me permet de lire les entrer/sortie ?

    Est-ce-que je peut exporter l'hiérarchie de membres avec le model? car je pense que je peut la faire avec le modélisateur 3d.

    Est-ce-que je fait l'hiérarchie de membres avec le skeleton?

    C'est quoi la cinématique inverse? Peux-tu m'expliquer un peut plus?

    Il y a t-il un Tutorial qui explique tous ça?
    Images attachées Images attachées  

  6. #6
    Membre averti Avatar de honosstoa
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2011
    Messages : 194
    Points : 354
    Points
    354
    Par défaut
    Est-ce-que la format Obj exporter tous les détail de mon model? (texture animation si il y avais, lumière si c'est une lampe).
    Le format .obj te permet d'exporter ton mesh sa texture (et je crois aussi son matériel dans un fichier à part .mtl), il ne gère ni les animations ni l'éclairage :/
    Par contre c'est très facile de faire un loader .obj

    Pour les animations tu peux aussi animer ton perso, l'exporter en .obj dans plusieurs positions et utiliser l'interpolation linéaire/polynomiale entre ses différentes positions... (c'est ce que je faisais au début de mon projet et ça a l'avantage de pas être trop dur à faire)

  7. #7
    Membre expert
    Avatar de Dabou Master
    Homme Profil pro
    Graphiste 3D auto-didacte
    Inscrit en
    Février 2012
    Messages
    1 018
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Graphiste 3D auto-didacte

    Informations forums :
    Inscription : Février 2012
    Messages : 1 018
    Points : 3 569
    Points
    3 569
    Par défaut
    Citation Envoyé par LittleWhite Voir le message
    2) C'est une question pour les artistes. Je crois qu'il est mieux d'avoir un squelette pour l'animer et oui, il faudra l'exporter (je ne savais pas que l'on peut faire autrement). Mais j'aimerai la réponse de notre spécialiste Dabou Master sur ce point.
    Oula qu'on ne me traite pas de spécialiste ça va m'attirer des ennuis ^^.
    Je n'ai jamais fait que des exports vers Unity et dans ce cas (et pour la plupart des moteurs 3D, bien que certains fournissent des armatures qui peuvent être intégrées à un modèle inanimé sous certaines conditions) il m'a fallu le squelette avec ses animations pré-enregistrées. Les moteurs ne sont pas conçus (à ma connaissance mais je m'y connais très peu) pour créer les animations, ou du moins c'est loin d'être leur utilisation première (donc plus limitée que directement sur le logiciel 3D qui a créé le modèle à animer). Même s'il existe trois ou quatre manières connues d'animer un modèle, cela finit toujours par des bones qui suivant leur position/rotation font varier l'état de ces animations, donc à ma maigre connaissance c'est indispensable pour le contrôle de l'animation quelle qu'elle soit si on veut quelque chose de fonctionnel.

    edit : Ah et pour info les modèles étaient exportés en .fbx pour Unity.
    Abandonner ses rêves n'est pas à la portée de tout le monde.

  8. #8
    Futur Membre du Club
    Inscrit en
    Septembre 2013
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Septembre 2013
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par honosstoa Voir le message
    Le format .obj te permet d'exporter ton mesh sa texture (et je crois aussi son matériel dans un fichier à part .mtl), il ne gère ni les animations ni l'éclairage :/
    Par contre c'est très facile de faire un loader .obj

    Pour les animations tu peux aussi animer ton perso, l'exporter en .obj dans plusieurs positions et utiliser l'interpolation linéaire/polynomiale entre ses différentes positions... (c'est ce que je faisais au début de mon projet et ça a l'avantage de pas être trop dur à faire)
    1)Comment as-tu appris à faire ça est ce que tu a un Tutorial? Peut-tu m'aider un peut plus? merci beaucoup pour la repense
    2)Si je utilise *.3ds forma et l'importer avec la bibliothèque lib3ds. Est-ce qu'elle supporte les animation ou l’éclairage?

    merci aussi Dabou Master

  9. #9
    Membre averti Avatar de honosstoa
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2011
    Messages : 194
    Points : 354
    Points
    354
    Par défaut
    1)Comment as-tu appris à faire ça est ce que tu a un Tutorial?
    Non j'ai tout découvert en faisant des tests ^^
    En fait tu exportes un cube en .obj et tu regarde à quoi ressemble la sauvegarde avec notepad/gedit. (en gros t'as les coordonnées des point: lignes "v", les coordonnées de l'uvtexture: lignes"vt" et t'as les faces: lignes "f", tu comprendras direct en ouvrant le fichier)
    (il me semble que y'a un tuto sur le sdz et ils le font en c++ je crois...)

    Pour l'interpolation linéaire cherche sur internet c'est vraiment simple. (j'ai un ami qui a fait de très bonnes anims avec et à mon avis c'est le mieux)
    Pour l'interpolation polynomiale: en gros t'as une propriété qui dit que pour relier n points il te faut au maximum une fonction polynomiale de degré n, donc le truc c'est de trouver cette fonction ^^

    -Donc soit tu te renseigne sur les poly. d'interpolation de Lagrange (mais j'ai entendu dire que c'est couteux en ressources)
    -Soit tu te débrouille autrement:
    pour éviter d'avoir des poly. de degré trop élevés tu peux diviser ton poly. d'interpolation en plusieurs poly. Sur mon projet la première vidéo est faite avec une interpolation de 1poly. de degré 3 par seconde par point.
    La deuxième est faite avec 3 poly de degré 3 par seconde et à la toute fin j'utilisais 5poly de degré 3 par seconde (j'ai pas fait de vidéo, mais j'avais un très bon résultat)

    bon courage !

    edit:
    Je suis allez trop vite
    ==>au maximum une fonction polynomiale de degré n-1 (et du coup mes degrés 3 sont des degrés 2)

  10. #10
    Futur Membre du Club
    Inscrit en
    Septembre 2013
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Septembre 2013
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    Quelle est le nom du tuto in OC(sdz)?
    J'ai vu ton jeux et c'est très géniale.
    Comment as-tu débrouiller avec tous les problèmes que tu avais rencontrer?
    Quels sont les bibliothèque et les moteur que tu utilise (moteur de jeux)
    Comment à tu animer le sanglier et Comment à tu contrôler le personnage avec la souris
    Si tu as le code source commenter peut tu me l'envoyer?

    Si je utilise Interpolation linéaire ou polynomiale il n'y aura pas des bug entre les frame?

    Citation Envoyé par honosstoa Voir le message
    -Donc soit tu te renseigne sur les poly. d'interpolation de Lagrange (mais j'ai entendu dire que c'est couteux en ressources)
    -Soit tu te débrouille autrement:
    pour éviter d'avoir des poly. de degré trop élevés tu peux diviser ton poly. d'interpolation en plusieurs poly. Sur mon projet la première vidéo est faite avec une interpolation de 1poly. de degré 3 par seconde par point.
    La deuxième est faite avec 3 poly de degré 3 par seconde et à la toute fin j'utilisais 5poly de degré 3 par seconde (j'ai pas fait de vidéo, mais j'avais un très bon résultat)

    bon courage !
    j'ai pas très compris cette partie. peut tu m'expliquer un peut plus?



    Je sais que je suis un peu ennuyeux, mais je suis excité de faire la moitié de ce que t'as fait :p

  11. #11
    Membre averti Avatar de honosstoa
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2011
    Messages : 194
    Points : 354
    Points
    354
    Par défaut
    Quelle est le nom du tuto in OC(sdz)?
    Je sais pas, je suis tombé dessus une fois par hasard, mais si tu cherches un peu tu le trouvera...
    J'ai vu ton jeux et c'est très géniale.
    Merci
    Quels sont les bibliothèque et les moteur que tu utilise (moteur de jeux)
    opengl/sdl/c au début et unity3d/js actuellement (Pour quelqu'un de mon niveau c'est pas possible d'en faire autant juste avec opengl...)
    Comment à tu animer le sanglier et Comment à tu contrôler le personnage avec la souris
    En opengl: je récupère la position en pixel de chaque clic de souris et vu que le perso principal est toujours au centre de la scène on peut trouver son vecteur directeur (pour le déplacer) avec sin et cos.
    Le sanglier est animé par un squelette (dans blender)
    J'ai 3 codes sources, peu commenté et pas forcément bien organisé ;/
    Si je utilise Interpolation linéaire ou polynomiale il n'y aura pas des bug entre les frame?
    C'est moins précis que de passer par une animation squelettale mais y'a moyen d'avoir un truc vachement fluide. (si on se débrouille bien)

    peut tu m'expliquer un peut plus?
    Pour Lagrange: cherches sur internet
    Pour l'autre méthode:
    Admettons que mon action "marcher" dure 4 secondes, je vais exporter en .obj mon perso dans 4*5*3=60 poses. Puis on a:
    t>=0 ou t<0.2sec fonction poly. de degré 3 qui interpole les points de mon perso entre 3 positions
    t>=0 ou t<0.2sec fonction poly. de degré 3 qui interpole les points de mon perso entre 3 positions
    ...
    t>=3.8 ou t<4sec fonction poly. de degré 3 qui interpole les points de mon perso entre 3 positions
    C'est comme ça que j'avais fait, mais je pense qu'une interpolation linéaire est moins couteuse en ressource et est tout aussi jolie...
    (Maintenant j’utilise unity qui gère les animations en 3clics, je te le dis au cas où ^^)

  12. #12
    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
    On a aussi des ressources dans le coin, pour charge des fichiers OBJ : http://jeux.developpez.com/tutoriels...ent-de-modele/ et je suis presque sur que nous en avons d'autres.
    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.

  13. #13
    Futur Membre du Club
    Inscrit en
    Septembre 2013
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Septembre 2013
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    merci merci beaucoup
    Citation Envoyé par honosstoa Voir le message
    Le sanglier est animé par un squelette (dans blender)
    avais-tu exporter en format *.obj? si oui donc le forma *.obj support l'animation?

  14. #14
    Membre averti Avatar de honosstoa
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2011
    Messages : 194
    Points : 354
    Points
    354
    Par défaut
    avais-tu exporter en format *.obj? si oui donc le forma *.obj support l'animation?
    Non, le .obj ne gère pas les animations.
    Le sanglier était animé par une fonction polynôme (faite à partir de .obj), tout comme le personnage.

  15. #15
    Futur Membre du Club
    Inscrit en
    Septembre 2013
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Septembre 2013
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    j'ai fais des recherche sur google et j'ai rien trouver sur l'animation 3d en utilisant fonction polynôme. Peut tu m'aider un peut plus?
    auras t-ils d'autre méthode? Est ce que la méthode de skeleton et équivalant à cette méthode?

  16. #16
    Membre averti Avatar de honosstoa
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2011
    Messages : 194
    Points : 354
    Points
    354
    Par défaut
    Je t'ai dit que j'ai suivi aucun tuto, j'ai fais mon propre truc c'est tout.

    Peut tu m'aider un peut plus?
    cf 5 messages plus haut

    Utilises l'interpolation linéaire c'est plus simple à faire moins couteux en ressources

Discussions similaires

  1. Réponses: 10
    Dernier message: 16/09/2011, 16h15
  2. [À télécharger] Prendre le contrôle de la souris avec le clavier
    Par SfJ5Rpw8 dans le forum Vos téléchargements VB6
    Réponses: 0
    Dernier message: 14/11/2010, 16h19
  3. Réponses: 2
    Dernier message: 31/08/2009, 11h00
  4. Prendre le contrôle de la souris avec le clavier
    Par Asdorve dans le forum Vos contributions VB6
    Réponses: 2
    Dernier message: 10/06/2007, 21h28
  5. [Projet commun] Prendre le contrôle de la souris avec le clavier
    Par Asdorve dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 12/01/2007, 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