Logiciel de conversion pour l'INRIA / Stage de 3ème année Github
Le logiciel SOFA
Sofa est un logiciel de l'INRIA permettant de modéliser des comportements mécaniques sur des objets comme par exemple des objets mous. Ce rendu est calculé puis affiché sur leur interface.
Ma mission
Ma mission pendant ce stage a été de faire un convertisseur pour facilement transposer la série de fichiers OBJ représentant l'objet calculé à chaque instants en 3D par le logiciel Sofa en un fichier MDD permettant de regrouper tous ces fichiers en un seul et de réduire la place prise par ces éléments. Un fichier OBJ défini la position de ces sommets, des facettes reliant trois sommets et la texture de ces facettes pour générer un objet un 3D. Le logiciel sofa redéfini à chaque images ces facettes et leurs textures alors que ce sont des constantes et qu'il suffirait de donner la nouvelle position des sommets. C'est ce que fait le format MDD. Malheureusement, ce format est très mal documenté et j'ai donc dû faire des recherches et des expériences pendant tout mon stage pour le comprendre et réussir à le dompter.
Le résultat
Au final, j'ai réussi à faire un programme python fonctionnel permettant de réaliser cette tâche. En plus de ça, j'ai automatisé le chargement des OBJ dans le programme puis du MDD dans blender qui permet ensuite de faire de plus beaux rendus. Un coéquipier s'occupait de faire une interface de visualisation sur unity. Blender était alors la passerelle entre les fichiers OBJ de sofa et le format dont il avait besoin.