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 :

Exporter une animation Blender vers OpenGL


Sujet :

OpenGL

Vue hybride

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 29
    Par défaut Exporter une animation Blender vers OpenGL
    Bonjour,

    Je conçois des animations 3D avec Blender et j'aimerais les importer dans un programme OpenGL/SDL simple. Auriez-vous une idée/tuto/programme/lien permettant ou indiquant comment faire cela ?

    J'insiste bien sur le fait que je ne veux pas seulement importer des objets mais également pouvoir charger les animations/mouvements de ces objets. Pour l'instant j'ai envisagé un export des objets au format .obj ; ensuite il parait que Blender a la capacité de produire des scripts Python, qui j'imagine pouvoir utiliser pour "décrire" l'animation de l'objet. J'ai également vu le format VRML. Il semble qu'il permette de décrire un mouvement mais je n'en suis pas sur.

    Voilà, je suis donc preneur de tout renseignement pertinent sur le sujet.

    Merci de vos futures réponses et bonne journée.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 29
    Par défaut
    Bon.

    Suite à la lecture de cet article http://jeux.developpez.com/faq/3d/?p..._format_modele , à une meilleure prise en main de Blender et à plusieurs heures de recherches, j'ai identifié quelques pistes qui pourraient m'être utiles. Aussi je vous expose l'avancée de mon enquête et d'avance je vous remercie de m'indiquer tous les indices/impasses/trucs-à-savoir/tutoriaux/solutions que vous pourriez avoir en tête/

    D'abord je n'ai selectionné que les formats d'export proposé par Blender, proposant la gestion des animations, et pour lesquels il existe des lib permettant de les "parser". (J'essaie d'abord cela avant de coder mon propre parseur. J'aime le principe de réutilisation : à mon sens c'est plus propre et de toutes façons ce n'est pas l'objet du débat.)

    Voici certains des formats que j'ai identifiés :

    Collada
    Structure XML (donc j'aime bien).
    J'ai trouvé ce tuto http://www.everita.com/lightwave-col...-on-the-iphone mais il ne donne pas de solution pour gérer les animations.
    J'ai trouvé la lib OpenCOLLADA ( http://www.opencollada.org/ ) qui semble gérer les animations mais malheureusement ils ne proposent pas de version Linux (oui c'est encore une de mes contraintes).

    VRML
    Un format vieillissant (à mon sens) mais si ça marche bien je n'y vois aucun inconvénient.
    Il existe OpenVRML ( http://openvrml.org/ ). Malheureusement il n'existe pas de paquet .deb pour Ubuntu (mais ça à la limite je peux m'en arranger) et je ne sais pas si cette lib gère les animations.

    X3D
    Semble être un futur standard (donc j'aime bien, même si ce sera sans doute plus pour le Web).
    J'ai trouvé cette lib : http://libx3d.sourceforge.net/ mais elle ne semble plus trop maintenue.

    MD2
    Enfin j'ai trouvé un code de gestion du MD2 sur la page http://jeux.developpez.com/sources/opengl/?page=modeles . L'inconvénient de ce format est qu'il ne gère les animations que par "keyframes" et pas en "skeletal". Accessoirement j'obtiens une erreur de Blender quand j'exporte en MD2 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
      File "/home/test/.blender/scripts/blender/md2_export.py", line 152, in bevent
        save_md2(g_filename.val)
      File "/home/test/.blender/scripts/blender/md2_export.py", line 1257, in save_md2
        fill_md2(md2, mesh_obj)
      File "/home/test/.blender/scripts/blender/md2_export.py", line 807, in fill_md2
        tex_key=(uv_coord[0],uv_coord[1])
    UnboundLocalError: local variable 'uv_coord' referenced before assignment
    Libg3d
    J'ai également trouvé le couple libg3d / g3dviewer ( http://automagically.de/g3dviewer/ ). A priori il ne permet d'importer que les objets et pas les animations. Maintenant si quelqu'un pouvait me confirmer cela...


    Je continue mes recherches...

  3. #3
    Membre très actif
    Profil pro
    Dev
    Inscrit en
    Mai 2009
    Messages
    257
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Dev

    Informations forums :
    Inscription : Mai 2009
    Messages : 257
    Par défaut
    Bonjour, il existe également Open Asset Import libray (Assimp), une librairie Opensource qui gère une trentaine de formats (dont .blender)

    http://assimp.sourceforge.net/index.html


  4. #4
    Membre éprouvé Avatar de Robxley
    Homme Profil pro
    Docteur ingénieur traitement d'image
    Inscrit en
    Mai 2009
    Messages
    158
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Docteur ingénieur traitement d'image

    Informations forums :
    Inscription : Mai 2009
    Messages : 158
    Par défaut great
    Salut,

    Juste un simple merci pour ton lien coda_blank. Je ne connaissais pas cette librairie et elle est tout simplement géniale. Je n'ai pas encore trop approfondi mes recherches sur son utilisation mais je dois dire que pour le peu que j'ai vu c'est très prometteur :

    - simplicité d'installation et compilation.
    - très simple d'utilisation.
    - documents très bien détaillés. Exemple de code, info classe ....
    - simplicité d’implémentation avec opengl/ directx



    Tout simplement ce que je cherchais depuis un moment. Je ne comprends pas comment je n'ai pas pu la trouver avant ça m'aurait fait gagner un temps fou sur l'ensemble de mes projets persos à faire des pseudo-importers bien moins performants et bien moins complets. Je ne comprends pas vu l'efficacité de la librairie qu'elle n'apparaît pas (pas du tout même) dans les moteurs de recherche en fesant des recherches du type "librairy c/c++ importer 3D model" ou je ne sais pas quoi.

    D'ailleurs si un responsable de la section 2D-3D-Jeux à du temps pour regarder un peu cette lib et la valider. Je pense qu'elle a toute sa place dans la section OUTILS/BIBLIOTHÈQUES étant donné que tout projet 3D digne de ce nom se voit dans l'obligation de charger des models provenant d'au moins un logiciel de modélisation. Ou au moins la mentionner quelque part.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 29
    Par défaut
    @coda_blank,
    Merci infiniment pour le lien. Cela ressemble exactement à ce que je recherche.

    @Robxley,
    Je suis entièrement d'accord. J'ai fait les mêmes recherches et ne l'ai pas trouvée. Vu ses capacités j'estime que cette lib devrait être référencée sur ce site dans la section 2D - 3D - Jeux.
    Seul bémol pour moi : je n'ai pas trouvé d'exemple simple d'importation d'une animation. L'exemple SimpleOpenGL ( http://assimp.svn.sourceforge.net/vi.../SimpleOpenGL/ ) ne semble pas les gérer. J'ai testé avec le *.blend de ce personnage ( disponible ici : http://www.katsbits.com/files/md5/an...der-source.zip ) mais je n'obtiens pas le résultat escompté. Par conséquent si quelqu'un a une idée ou un tuto...

    Merci. :]

  6. #6
    Membre éprouvé Avatar de Robxley
    Homme Profil pro
    Docteur ingénieur traitement d'image
    Inscrit en
    Mai 2009
    Messages
    158
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Docteur ingénieur traitement d'image

    Informations forums :
    Inscription : Mai 2009
    Messages : 158
    Par défaut
    Salut poliok,

    As-tu téléchargé la sdk qui se trouve sur le site et pas seulement le fichier.c SimpleOpenGL.c que tu présentes dans ton lien ? http://sourceforge.net/projects/assi...k.zip/download



    Sinon, pour ma part les quelques tests rapides que j'ai pu faire durant mon temps libre ne m'ont posés aucun souci pour une éventuelle utilisation dans mon projet avec une idée bien précise de ce dont j'ai besoin. C'est à dire l'importation d'objets au format wavefront .obj et collada principalement qui ont fonctionnait correctement pour ces formats. Après je dois dire que dans ton cas, pour des objets animés, je ne peux pas trop me prononcer n'ayant fait aucun test valable dans cette optique.

    Peut être si ce n'est que le format collada qui peut contenir aussi une partie animation a à première vu un bon comportement ne serait-ce que pour la partie statique, donc peut être il en ai de même pour le dynamique.

Discussions similaires

  1. [VBA-E] Exporter une page Excel vers un Fichier Txt
    Par mamantins dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 08/06/2006, 12h09
  2. Problème pour exporter une table Access vers Excel
    Par PAULOM dans le forum Access
    Réponses: 22
    Dernier message: 02/05/2006, 14h42
  3. Exporter une base ORACLE vers ACCESS
    Par cquadjul dans le forum Access
    Réponses: 3
    Dernier message: 30/03/2006, 18h04
  4. Exporter une base MSDE vers SQL Server
    Par Noodles dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 20/01/2005, 14h56
  5. [FLASH MX] Lien d'une animation Flash vers une page html
    Par tinkye_winkye dans le forum Flash
    Réponses: 10
    Dernier message: 19/01/2005, 11h11

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