Journal 3D dans les présentations web

Posté par . Licence CC by-sa
Tags :
20
28
avr.
2014

Bonjour à tous,

J'utilise depuis longtemps Sozi pour faire mes présentations, cela me permet d'avoir des présentations visibles sous firefox (et firefox seulement s'il y a des vidéos) d'inclure des vidéos et facilement des équations issues de LaTeX.

Nous travaillons également dans mon labo sur l'étude de la statique pelvienne, ce qui nous amène à manipuler des surfaces tridimensionnelles. J'ai envie depuis longtemps d'inclure une scène 3D dans ma présentation. Il me faut donc être capable d'inclure dans un svg une scène 3D que firefox sera en mesure de relire. J'ai choisi de le faire en créant une page html contenant une scène faisant appel à du webgl, de la manière suivante :

<?xml version="1.0" standalone="yes"?>
<svg xmlns = "http://www.w3.org/2000/svg">
    <foreignObject x="100" y="100" width="700" height="700">
      <body xmlns="http://www.w3.org/1999/xhtml">
        <iframe src="webgl/test.html" style="width:700px height:700px"></iframe>
      </body>
    </foreignObject>
</svg>

Il ne reste donc qu'à bien positionner cette page dans le svg.
Il serait bien sympa de créer un module pour Sozi qui permettrait comme le fait le module vidéo, d'inclure une scène 3D webGL. Cela n'est pas impossible mais vu mon niveau de compétence en xml et en extension inkscape, j'ai peur de m'enliser, surtout que ce n'est pas une priorité dans mon boulot … et comme je ne vais pas faire des dizaines de présentations avec de la 3D, je pense que je vais le faire à la main !

Il existe plusieurs manière de définir une scène webGL :

  1. La coder à la main,
  2. Utiliser un outil.

N'étant pas développeur web, je n'ai que peu d’envie pour me lancer dans l'apprentissage que représente coder à la main une scène webGL.

J'ai donc utilisé un outil. J'ai utilisé la dernière version de paraview 4.1 qui permet d'exporter une scène en webgl. Pour ce faire j'ai importé un .obj, calculé les normales, affiché une composante ainsi qu'une colorbar, puis exporté la scène dans le fichier test.html que j'ai mis dans la iframe du svg.

Le problème à ce point réside dans le fait qu'il n'y a quasiment aucune interactivité, si ce n'est zoomer et tourner l'objet dans l'export paraview.

J'ai donc commencé à regarder s'il existait des niveaux intermédiaires entre coder une scène en webGL et un bête export depuis paraview.

J'ai découvert Voxelent une lib javascript qui permet de créer une scène et des interactions. Elle a cependant des fonctionnalités d’import limitées car seul polydata VTK ASCII et JSON sont supportés. On peut cependant toujours transiter par paraview pour faire les imports/exports. Cela semble donc être une solution assez sympa.

En continuant mes recherches sur les outils pour faire de la 3D en webGL, je suis tombé sur une nouvelle assez notable que je n'ai pas lue ici : Le moteur de jeu Godot vient d'être libéré en licence MIT !
Ce moteur permet de faire de la 2D, de la 3D, a un moteur de simulation et permet l'export webGL !
De plus l'interface graphique d'utilisation de ce moteur est disponible sous Linux. Il y a je pense assez de développeurs de jeux ici pour peut être en parler mieux que moi. Je pense que cela mériterait une dépêche.

Ceci dit si cela pouvait me permettre de mettre en place un modèle 3D de la ceinture pelvienne avec quelques animations et des textures sympa alors j'en serais vraiment ravi !
Malheureusement le temps que je peux consacrer à cela est assez faible, j'ai donc peur que cela prenne beaucoup de temps …

Voilà pour ce petit journal qui ne fait que vous présenter la veille que j'ai faite sur la 3D dans le html/SVG.

  • # J'ai oublié X3DOM

    Posté par . Évalué à 3.

    X3DOM et instant reality fournissent des exemples sympa et mettent à disposition (non libre) sous linux des outils de conversion

  • # Modeling

    Posté par (page perso) . Évalué à 3. Dernière modification le 29/04/14 à 10:28.

    Ben déjà la première question, dont je n'ai pas trouvé la réponse dans ton journal : Disposes-tu d'un modèle 3D de ta ceinture ? La question du moteur se posera après, il faut déjà commencer à la modéliser. Ou la récupérer dans une banque de modeles 3D "medecine"… Après dans la 3D, les imports / exports ne sont jamais simples, mais jamais vraiment impossibles non plus.

    Autre chose : Tu dis "inclure une scène 3d dans ma présentation" mais si ce n'est qu'un présentation, t’embête pas, fait un rendu et montre-leur une video. L’intérêt du VRML de la 3D html/SVG, c'est l’interaction, permettre à tes utilisateurs de faire tourner le bazar, etc. S'ils restent assis, c'est pas la peine.

    Super journal ; Merci

    • [^] # Re: Modeling

      Posté par . Évalué à 3.

      Le modèle est fait par segmentation de scanner manuel, d'IRM, scanner au rayons X. Il est exportable en .obj. En fait ce que je veux faire c'est une présentation qui me serve lors de conférences avec un auditoire mais aussi que je puisse mettre sur le site internet du laboratoire. Je pense que dans ce cas précis c'est vraiment intéressant.

      De plus si tu arrives à mettre pas mal d'objets affichables et masquables sur ta scène 3D alors tu simplifies grandement ta présentation.

    • [^] # Re: Modeling

      Posté par . Évalué à 1.

      Même si les gens sont assis, je pense qu'il y a une différence entre regarder une vidéo et regarder le résultat de manipulations faites en direct par le présentateur. C'est d'autant plus pertinent si l'auditoire pose des questions appelant une réponse liée à une vue 3d : comme les questions ne peuvent pas forcément être anticipées, la scène 3d devient intéressante pour remplacer les traditionnels mouvements des mains et autres dessins moches sur tableau noir.

  • # Lien cassé

    Posté par . Évalué à 1.

    Le lien correspondant à Sozi ne fonctionne pas. Ca devrait être Sozi.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.