J'ai créé un modèle dans Blender. Maintenant, je veux lire ce modèle 3D dans mon programme c ++. J'ai pensé qu'un modèle peut être exporté vers différents formats de fichiers, par exemple .obj, .3ds ou COLLADA, puis lu dans un programme c ++. Je fais des recherches sur le Web depuis longtemps et j'ai trouvé de nombreux tutoriels. Mais j'ai rencontré des problèmes avec la plupart d'entre eux. Par exemple, dans le didacticiel Nehe, ils utilisent des glaux que je ne veux pas utiliser dans mon programme. Et les tutoriels restants utilisent md2 qui n'est pas pris en charge par Blender.
Alors, quelqu'un peut-il me guider quel format de fichier utiliser pour exporter un modèle 3D et comment le charger dans mon programme OpenGL? Comment puis-je animer ce modèle? Est-il possible d'ajouter des effets supplémentaires comme le mappage de tonalité après son chargement dans le programme c ++ à l'aide d'OpenGL? si oui alors comment?
PS J'utilise Linux pour le développement de jeux
11
Blender 2.60 a un support d'animation fixe COLLADA, il était plus ou moins cassé dans les versions précédentes. Cependant, si vous n'avez pas encore chargé de formats de modèle dans votre propre code, je vous suggère d'apprendre à charger .obj en premier. Il est en ASCII, il est donc lisible par l'homme et facile à lire sans bibliothèques de chargeurs externes.
la source
3ds ne contient aucune donnée d'animation afin que l'une ne fonctionne pas. Collada, je ne sais pas grand-chose, mais quand j'ai décidé du format à utiliser dans mon jeu, j'ai beaucoup cherché et comparé et finalement j'ai opté pour le format B3D, il prend en charge l'animation squelettique et peut être téléchargé depuis Irrlicht (il contient également des valeurs d'éclairage ).
J'utilise l'exportateur 'pipeline b3d' de 3dsMax et j'ai codé mon propre shader hlsl pour animer et éclairer les maillages, cela fonctionne très bien.
Vous pouvez vérifier comment Irrlicht le fait (c'est-à-dire le chargement et l'animation), il fait l'animation dans le logiciel, mais il y a des exemples si vous cherchez un peu comment le faire avec un shader (si vous le souhaitez). Une bonne chose est qu'Irlrlicht prend en charge OpenGL et Linux.
Un autre format assez simple est le format .X, il doit y avoir des tonnes d'exemples sur la façon d'exporter, de charger, d'analyser et de configurer le squelette et de l'animer avec. C'est un format Microsof, alors vous ne voudrez peut-être pas l'utiliser :-)
La cartographie des tons et tout cela n'a absolument rien à voir avec l'animation, alors si vous savez comment utiliser cette technique, vous pouvez le faire avec des maillages animés.
la source