Re: [Tutoriel-en cours] Introduction à la 3D avec Purebasic
Publié : lun. 07/mai/2012 17:33
V. Exportation d'un modèle 3D depuis Blender (2.6x)
Informations sur Blender
Blender est un Logiciel de modélisation, animation et rendu 3D. Il est gratuit et Open-source.
La dernière Version est la 2.63 (main 2012).
Il permet de créer des modèles 3D de qualité, pour le pré-calculé ou le temps réel.
Il dispose d'un moteur de jeu Interne( le BGE), qui est plutôt performant pour concevoir des petits jeux amateurs.
D'un point de vue graphique, en temps réel, on dispose d'une preview des shaders avec la plupart des paramètres disponibles (spculaire, normal map..).
On a le même rendu ou presque dans le moteur de jeu.
Mais ce qui nous intéresse, c'est la possibilité d'exporter un modèle 3D que l'on a créé nous-même pour du temps en .mesh pour l'ouvrir dans ogre ( et purebasic bien entendu).
Je ne parlerai pas de la création d'un modèle 3D sous blender. Pour cela, vous trouverez énormément de tutoriaux sur internet. J'ai même participé à l'écriture d'un livre là-dessus
.
Installation du script d'export de blender (2.63) vers ogre
Il existe des scripts d'export de blender vers ogre, pour la plupart des versions (2.49b, 2.5x, 2.6x).
Nous utiliserons le dernier pour al 2.63.
Installation (blender et script d'export blender -> ogre
- si ce n'est pas encore fait, téléchargez blender 2.63 et installez-le (http://www.blender.org/)
- téléchargez le script d'export blender vers ogre (version 2.63) : http://www.ogre3d.org/forums/viewtopic.php?f=8&t=61485
- installez-le /copiez-le dans le répertoire script\addons de votre blender 2.63, logiquement, ça doit être : 2.63\scripts\addons
- ensuite, dans blender, activez cet addon depuis le panneau de préférence (ctrl+alt+U), panneau Addons / sous menu à gauche Import-Export
- cochez la case Import-Export:Ogre Exporter (.scene, .mesh,.skeleton)
- cliquez sur "save as default" (bouton en bas)
- et voilà, normalement, votre addons est installé.
Remarque :
- blender 2.5x script d'export (au cas où) : http://www.ogre3d.org/tikiwiki/Blender+2.5+Exporter
Créer les shaders (material) depuis blender 2.63
Dans blender, vous pouvez créer vos propres materiaux (ou shaders), et les appliquer à vos objets.
Vous avez normalement installé l'addons d'export blender->ogre. Si ce n'est pas encore le cas, voir un peu plus haut.
S'il est activé, vous avez normalement un tout petit panneau en haut, à droite (àcoté du bouton pour mettre blender en fullscreen) , indiquant "Ogre toggle UI".
Si vous l'activez,(je le conseille), des nouveaux panneaux et menus apparaitront et notamment pour les matériaux.
Cela vous permettra de mieux voir ce que vous pouvez exporter comme paramètres de vos matériaux et textures.
La création d'un shader utilisable par Ogre n'est pas encore complet avec cet Addons :
- on a accès surtout aux textures diffuse, mais pas encore aux canaux de type normal map, spec, etc..
Concevez cependant vos matériaux comme d'habitude, car ce script sera sans doute mis à jour régulièrement
.
De toute manière, vous pouvez retravaillez vos .material exporté (je vous le conseille)
Il existe de nombreux tutoriaux sur la création de matériaux avec blender, je vous laisse le soin de trouver ces tutoriaux sur le net
.
Une fois que vous avez créé un matérial dans blender, l'exportation de celui-ci s'effectue en même temps que l'export du modèle 3D.
exporter un mesh depuis blender 2.63
Vous avez normalement installé l'addons d'export vers ogre. Si ce n'est pas fait, voir plus haut.
Utilisation
- sélectionnez votre objet 3D
- allez dans le menu file\export et choisissez Ogre 3D
- ensuite, définissez les paramètres que vous souhaitez prendre en compte (à gauche) : comme l'export du modèle sélectionné uniquement, des animations, de la scène, des materials, etc..
Résultat de l'exportation
Une fois que vous avez exportez, vous devez avoir obtenu :
- un .mesh.xml que vous devrez convertir ensuite avec l'utilitaire d'ogre.
- un .skeleton si vous avez créée des animations
- un .material (ou plusieurs) : ce sont vos material
- un .scene si vous l'avez activé, c'est votre scène.
Note :
Quelques informations sur le script : http://code.google.com/p/blender2ogre/w/list
Conversion du mesh avec l'utilitaire de Ogre
Téléchargement de l'utilitaire de conversion
- Télécharger sur le site d'ogre l'utilitaire : OgreXMLConverter.exe
- pour cela : rendez-vous sur la page : http://www.ogre3d.org/download/tools
- tout en bas, dans "Miscellaneous", téléchargez la version qui vous convient (mac, windows, pour linux, je ne sais pas oùcela se trouve) : Ogre Command-line Tools (1.7.2)
Remarque : sur cette page, vous trouverez divers liens, notamment vers des exporters. Il y en a pour Blender, mais je ne sais pas ce qu'ils donnent,.
Conversion
- lorsque vous avez converti un de modèle depuis blender, vous avez obtenu un *.mesh.xml
- copier ce fichier dans le répertoire où vous avez mis OgreXMLConverter.exe
- ensuite glissez-déposez ce fichier (*.mesh.xml) sur OgreXMLConverter.exe
- si tout s'est bien passé, vous obtenez un fichier *.mesh, un peu plus léger.
- sinon, c'est que votre modèle a des problèmes, il faudra le retravailler dans blender et retenter une exportation.
- si cela s'est passé correctement, vous pouvez utiliser votre mesh dans purebasic/ogre
.
Astuce : Conversion multiple
si vous avez beaucoup de fichiers *.mesh.xml à convertir, voici une technique plutôt pratique :
- créez un dossier à la racine de votre disque dur et mettez-y votre ogreXmlConverter.exe (par exemple : c:/Ogre/ et vous y placez tout ce qui est nécessaire (ogrexmlconverter.exe + les dll associées)
- créez un autre dossier à la racine de votre disque dur et mettez-y vos fichiers à convertir (par exemple c:/convert).
- ouvrez une invite de command (cmd.exe)
- allez dans votre dossier c:/ convert, normalement, vous devez faire : cd .. , puis cd .. , puis cd convert
- tapez la ligne suivante : for %1 in ( *.xml.mesh) DO c:\Ogre\OgreXmlConverter %1 (si vous avez mis votre converter dans c:/ogre)
- ensuite patientez le temps que cela soit converti et voilà tous vos meshs sont convertis en 1 seule fois, c'est pratique
Remarques et Astuces importantes
Optimisation
- veillez à concevoir des modèles ayant le moins de faces possibles pour du temps réel.
- si possible n'utilisez qu'un seul material par modèle, ce sera plus simple ensuite. Vous pouvez si besoin en utiliser plusieurs, mais ce sera plus délicat à gérer si vous souhaitez les modifier dans Purebasic/Ogre
- veillez à créer des textures les plus petites possibles et si possible en puissance de 2 : 64*64, 128*128, 256*256, etc..
- de plus, évitez de mettre des normal map, spec map ou autre sur tous vos modèles. Cela risque d'alourdir le temps de calcul du rendu dans Ogre et de baisser vos FPS.
- il faut savoir que le calcul des ombres dans rajoute énormément de faces : veillez à n'utiliser des ombres projetés que si c'est nécessaire, et faites le uniquement sur les modèles souhaités.
Règle de lighting
- En général, on choisit d'utiliser 3 sources de lumière principale : une qui donne la teinte et projette des ombres. Une deuxième en contre -lumière dans les tons complémentaire. Une troisième beaucoup moins intense en opposition (de l'autre cote), pour faire un très léger back light). Vous pouvez ensuite ajouter des lumières ponctuelles là où vous avez mis des sources lumineuses (feu, objets magique, lampe..)
- il faut si possible qu'il y ait le moins de light possible qui projettent des ombres (une seule peut suffire).
Réutilisation
- essayez de réutiliser, dans la mesure du possible, vos textures ou material
Echelle
- il est important de faire un premier d'exportation et d'importation de votre modèle dans purebasic/ogre. Les échelles peuvent être très différentes entre blender (ou d'autres modeleurs) et purebasic/ogre. Il vous faudra alors faire un scale de votre modèle dans purebasic, mais autant qu'il soit tout de suite à la bonne taille dans blender. Ainsi, il est intéressant de créer une scène vide avec une échelle de référence (un personnage low-poly par exemple). Cela vous permet d'éviter de créer des modèles avec nécessité de les agrandir si ce n'est pas nécessaire.
Informations sur Blender
Blender est un Logiciel de modélisation, animation et rendu 3D. Il est gratuit et Open-source.
La dernière Version est la 2.63 (main 2012).
Il permet de créer des modèles 3D de qualité, pour le pré-calculé ou le temps réel.
Il dispose d'un moteur de jeu Interne( le BGE), qui est plutôt performant pour concevoir des petits jeux amateurs.
D'un point de vue graphique, en temps réel, on dispose d'une preview des shaders avec la plupart des paramètres disponibles (spculaire, normal map..).
On a le même rendu ou presque dans le moteur de jeu.
Mais ce qui nous intéresse, c'est la possibilité d'exporter un modèle 3D que l'on a créé nous-même pour du temps en .mesh pour l'ouvrir dans ogre ( et purebasic bien entendu).
Je ne parlerai pas de la création d'un modèle 3D sous blender. Pour cela, vous trouverez énormément de tutoriaux sur internet. J'ai même participé à l'écriture d'un livre là-dessus

Installation du script d'export de blender (2.63) vers ogre
Il existe des scripts d'export de blender vers ogre, pour la plupart des versions (2.49b, 2.5x, 2.6x).
Nous utiliserons le dernier pour al 2.63.
Installation (blender et script d'export blender -> ogre
- si ce n'est pas encore fait, téléchargez blender 2.63 et installez-le (http://www.blender.org/)
- téléchargez le script d'export blender vers ogre (version 2.63) : http://www.ogre3d.org/forums/viewtopic.php?f=8&t=61485
- installez-le /copiez-le dans le répertoire script\addons de votre blender 2.63, logiquement, ça doit être : 2.63\scripts\addons
- ensuite, dans blender, activez cet addon depuis le panneau de préférence (ctrl+alt+U), panneau Addons / sous menu à gauche Import-Export
- cochez la case Import-Export:Ogre Exporter (.scene, .mesh,.skeleton)
- cliquez sur "save as default" (bouton en bas)
- et voilà, normalement, votre addons est installé.
Remarque :
- blender 2.5x script d'export (au cas où) : http://www.ogre3d.org/tikiwiki/Blender+2.5+Exporter
Créer les shaders (material) depuis blender 2.63
Dans blender, vous pouvez créer vos propres materiaux (ou shaders), et les appliquer à vos objets.
Vous avez normalement installé l'addons d'export blender->ogre. Si ce n'est pas encore le cas, voir un peu plus haut.
S'il est activé, vous avez normalement un tout petit panneau en haut, à droite (àcoté du bouton pour mettre blender en fullscreen) , indiquant "Ogre toggle UI".
Si vous l'activez,(je le conseille), des nouveaux panneaux et menus apparaitront et notamment pour les matériaux.
Cela vous permettra de mieux voir ce que vous pouvez exporter comme paramètres de vos matériaux et textures.
La création d'un shader utilisable par Ogre n'est pas encore complet avec cet Addons :
- on a accès surtout aux textures diffuse, mais pas encore aux canaux de type normal map, spec, etc..
Concevez cependant vos matériaux comme d'habitude, car ce script sera sans doute mis à jour régulièrement

De toute manière, vous pouvez retravaillez vos .material exporté (je vous le conseille)
Il existe de nombreux tutoriaux sur la création de matériaux avec blender, je vous laisse le soin de trouver ces tutoriaux sur le net

Une fois que vous avez créé un matérial dans blender, l'exportation de celui-ci s'effectue en même temps que l'export du modèle 3D.
exporter un mesh depuis blender 2.63
Vous avez normalement installé l'addons d'export vers ogre. Si ce n'est pas fait, voir plus haut.
Utilisation
- sélectionnez votre objet 3D
- allez dans le menu file\export et choisissez Ogre 3D
- ensuite, définissez les paramètres que vous souhaitez prendre en compte (à gauche) : comme l'export du modèle sélectionné uniquement, des animations, de la scène, des materials, etc..
Résultat de l'exportation
Une fois que vous avez exportez, vous devez avoir obtenu :
- un .mesh.xml que vous devrez convertir ensuite avec l'utilitaire d'ogre.
- un .skeleton si vous avez créée des animations
- un .material (ou plusieurs) : ce sont vos material
- un .scene si vous l'avez activé, c'est votre scène.
Note :
Quelques informations sur le script : http://code.google.com/p/blender2ogre/w/list
Conversion du mesh avec l'utilitaire de Ogre
Téléchargement de l'utilitaire de conversion
- Télécharger sur le site d'ogre l'utilitaire : OgreXMLConverter.exe
- pour cela : rendez-vous sur la page : http://www.ogre3d.org/download/tools
- tout en bas, dans "Miscellaneous", téléchargez la version qui vous convient (mac, windows, pour linux, je ne sais pas oùcela se trouve) : Ogre Command-line Tools (1.7.2)
Remarque : sur cette page, vous trouverez divers liens, notamment vers des exporters. Il y en a pour Blender, mais je ne sais pas ce qu'ils donnent,.
Conversion
- lorsque vous avez converti un de modèle depuis blender, vous avez obtenu un *.mesh.xml
- copier ce fichier dans le répertoire où vous avez mis OgreXMLConverter.exe
- ensuite glissez-déposez ce fichier (*.mesh.xml) sur OgreXMLConverter.exe
- si tout s'est bien passé, vous obtenez un fichier *.mesh, un peu plus léger.
- sinon, c'est que votre modèle a des problèmes, il faudra le retravailler dans blender et retenter une exportation.
- si cela s'est passé correctement, vous pouvez utiliser votre mesh dans purebasic/ogre

Astuce : Conversion multiple
si vous avez beaucoup de fichiers *.mesh.xml à convertir, voici une technique plutôt pratique :
- créez un dossier à la racine de votre disque dur et mettez-y votre ogreXmlConverter.exe (par exemple : c:/Ogre/ et vous y placez tout ce qui est nécessaire (ogrexmlconverter.exe + les dll associées)
- créez un autre dossier à la racine de votre disque dur et mettez-y vos fichiers à convertir (par exemple c:/convert).
- ouvrez une invite de command (cmd.exe)
- allez dans votre dossier c:/ convert, normalement, vous devez faire : cd .. , puis cd .. , puis cd convert
- tapez la ligne suivante : for %1 in ( *.xml.mesh) DO c:\Ogre\OgreXmlConverter %1 (si vous avez mis votre converter dans c:/ogre)
- ensuite patientez le temps que cela soit converti et voilà tous vos meshs sont convertis en 1 seule fois, c'est pratique

Remarques et Astuces importantes
Optimisation
- veillez à concevoir des modèles ayant le moins de faces possibles pour du temps réel.
- si possible n'utilisez qu'un seul material par modèle, ce sera plus simple ensuite. Vous pouvez si besoin en utiliser plusieurs, mais ce sera plus délicat à gérer si vous souhaitez les modifier dans Purebasic/Ogre
- veillez à créer des textures les plus petites possibles et si possible en puissance de 2 : 64*64, 128*128, 256*256, etc..
- de plus, évitez de mettre des normal map, spec map ou autre sur tous vos modèles. Cela risque d'alourdir le temps de calcul du rendu dans Ogre et de baisser vos FPS.
- il faut savoir que le calcul des ombres dans rajoute énormément de faces : veillez à n'utiliser des ombres projetés que si c'est nécessaire, et faites le uniquement sur les modèles souhaités.
Règle de lighting
- En général, on choisit d'utiliser 3 sources de lumière principale : une qui donne la teinte et projette des ombres. Une deuxième en contre -lumière dans les tons complémentaire. Une troisième beaucoup moins intense en opposition (de l'autre cote), pour faire un très léger back light). Vous pouvez ensuite ajouter des lumières ponctuelles là où vous avez mis des sources lumineuses (feu, objets magique, lampe..)
- il faut si possible qu'il y ait le moins de light possible qui projettent des ombres (une seule peut suffire).
Réutilisation
- essayez de réutiliser, dans la mesure du possible, vos textures ou material
Echelle
- il est important de faire un premier d'exportation et d'importation de votre modèle dans purebasic/ogre. Les échelles peuvent être très différentes entre blender (ou d'autres modeleurs) et purebasic/ogre. Il vous faudra alors faire un scale de votre modèle dans purebasic, mais autant qu'il soit tout de suite à la bonne taille dans blender. Ainsi, il est intéressant de créer une scène vide avec une échelle de référence (un personnage low-poly par exemple). Cela vous permet d'éviter de créer des modèles avec nécessité de les agrandir si ce n'est pas nécessaire.