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 :

Comment importer une animation de Blender dans du code C++?


Sujet :

Développement 2D, 3D et Jeux

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    574
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2004
    Messages : 574
    Points : 109
    Points
    109
    Par défaut Comment importer une animation de Blender dans du code C++?
    Bonjour,

    Je me posais quelques questions avant de me lancer dans la programmation d'un petit jeu vidéo. J'ai vu qu'il est possible par exemple de modéliser un objet sous Blender et de l'exporter au format .obj. Ensuite, on peut l'importer dans un programme en C++ et utilisant de l'opengl/glut. Cependant, j'ai trois questions :
    - Aura t-on tout d'importer ? Couleurs, mouvement et contrainte associée à l'objet...(Par exemple, comment il réagi lorsque l'on bouge avec) ?
    - Peut on réaliser une animation, et importer cette animation dans le code ou alors...
    - S'agit il de vidéo importer pour les cinématiques et est ce compliqué à ajouter dans la fenetre opengl/glut?

    Peu être ai-je mal employé certains thème ? C'est juste que je me demande comment on passe de la modélisation d'un objet en précisant qu'il avance de telle manière etc, à son incorporation dans du code C++...

  2. #2
    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 381
    Points
    20 381
    Par défaut
    Citation Envoyé par zuzuu Voir le message
    Peu être ai-je mal employé certains thème ? C'est juste que je me demande comment on passe de la modélisation d'un objet en précisant qu'il avance de telle manière etc, à son incorporation dans du code C++...
    Eh bien pour importer un objet .obj il faut tout bêtement un chargeur ou bien des routines de code qui assurent cette tache.
    Un objet ou meshc'est un fichier qui décrit les facettes , sommets ( vertices en anglais) donc après avoir chargé toutes ces données il faut les conformer aux primitives Open GL et en faire l'affichage ou rendu..
    Je suis persuadé qu'on puisse trouver des tutoriels qui explique comment charger un objet .3ds ou .obj de Blender

    Citation Envoyé par zuzuu Voir le message
    - Aura t-on tout d'importer ? Couleurs, mouvement et contrainte associée à l'objet...(Par exemple, comment il réagi lorsque l'on bouge avec) ?
    Couleurs=> couleurs de base R G B avec ombrage de Gouraud par exemple ou bien textures dans le jargon 3d.
    Les textures ce sont des images que l'on plaque sur les facettes d'un objet 3d.
    Par exemple pour un mur on va appliquer une image qui représente des pierres et le rattacher à des coordonnées u , v.
    Par contre pour le mouvement non parce que ce sont des objets 3d statiques.
    C'est au concepteur du programme de donner un mouvement à l'objet.
    Mais je sais que Blender peut exporter le modèle d'un jeu complet au format .blend pour le recharger sous Crystal Space

    Jeter un coup d'oeil sur le projet Apricot : http://www.yofrankie.org/
    L'équipe a travaillé sous Blender puis le modèle de jeu .blend est exporté et exploité avec le moteur Crystal Space

    http://www.crystalspace3d.org/main/Features
    Custom model and scene file format with exporters for Blender and 3d studio max and model importers for common file formats such as 3ds and md2.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    574
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2004
    Messages : 574
    Points : 109
    Points
    109
    Par défaut
    Merci c'est vrai j'y pensais plus...
    Je vais aller regarder

  4. #4
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2008
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2008
    Messages : 60
    Points : 74
    Points
    74
    Par défaut yop
    tout dabord il faut exporter toute la geometrie de l objet, pour chaque faces des polygones il faut :
    3points :

    -leur position
    -leur coordonnée de mapping (c est un "placage" du triangle dans un plan sur un texture,pour voir quel bout de texture il doit affiché dans ce triangle)
    -accessoirement la normale

    pour l animation:
    en fait blender memorise ce qu'on apelle des "keyframes", c est a dire la position et l orientation de tes objet a un temps donné, et quand il les animes il fait des "interpolation" , en gros il crée plusieurs images entre la transformation A et la transformation B,
    ou plus precisement il te calcule la position de l objet en un temps donné en fonction de la "keyframe" (clée d animation en francais) precedente et suivante ...


    tu peut recuperé ces "keyframes" et cette geometrie grace a un script Python sous blender,
    ou en exportant dans un format existant,


    et ensuite il te faut faire un programme d animation qui est capable de te renvoyé la position d'un objet pour un temps donné et une animation donné en fonction des donnée que tu a recuperé dans ton fichier ^^


    GLUT et opengl ne servent qu'a l' affichage , pour l animation c est des math,
    (en gros tu interpole de la matrice de transformation)

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    574
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2004
    Messages : 574
    Points : 109
    Points
    109
    Par défaut
    Merci tout cela me semble déjà une bonne base pour le travail

Discussions similaires

  1. Réponses: 1
    Dernier message: 24/06/2008, 15h22
  2. Réponses: 2
    Dernier message: 09/03/2007, 16h52
  3. Comment importer une DLL dans du code???
    Par Jayceblaster dans le forum Delphi .NET
    Réponses: 29
    Dernier message: 19/04/2006, 19h19
  4. Réponses: 3
    Dernier message: 25/11/2002, 14h15
  5. comment integer une animation swf dans une page
    Par naili dans le forum Intégration
    Réponses: 7
    Dernier message: 18/09/2002, 18h54

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