Accueil > Tutorial > Première scène avec OpenSpace3D

Première scène avec OpenSpace3D

Voilà plusieurs mois que je n’ai pas mis a jour le blog. Je reprends le flambeau en inaugurant cette deuxième naissance par une série de didacticiels autour d’OpenSpace3D, un environnement de développement pour construire des applications 3D temps réel.

Qu’est-ce que OpenSpace3D ?

Commençons donc par une définition :

OpenSpace3D is an Open Source and online collaborative plateform for the development of real time and interactive 3D project. OpenSpace3D’s aim is to help develop new 3D environments in the field of collaborative work (distant meetings, webconferences), training (virtual classroom, learning and serious games), simulation, innovation, e-commerce (virtual shops and malls), Virtual Reality applications, social networks for expression and sharing (personal 3D spaces) or massively multiuser games (MMOG)… for both B2B and B2C uses based on 3D and real-time collaboration. [Extrait du blog officiel d'OpenSpace3D]

OpenSpace3D utilise la technologie SCOL et le moteur de rendu Ogre3D. SCOL apporte à OpenSpace3D de nombreuses fonctions afin d’apporter de l’interactivité dans l’application 3D. De son côté, Ogre3D permet un rendu 3D de très grande qualité et une intégration aisée avec les applications de modélisation comme 3DS Max ou Maya grâce aux nombreux plugins d’export. Ayant l’habitude de travailler avec 3DS Max, je me concentrerai sur ce logiciel et plus particulièrement la version 2009. Paramétrage d’OgreMax (plugin gérant l’export vers Ogre3D sous 3DS Max)

Après avoir installé le plugin, un nouveau menu apparaît dans l’interface de 3DS Max.

Le menu OgreMax

Afin de bien comprendre les différents paramètres, il faut garder à l’esprit quelques éléments concernant le fonctionnement d’OpenSpace3D. Après l’installation, un répertoire « Scol Voyager » a été créé dans votre répertoire « Mes documents » (je précise que je suis sous Windows XP). C’est dans ce répertoire que devront être exportées les ressources (textures, matériaux, meshes, scripts, …) de votre scène pour que OpenSpace3D puisse les trouver. Pour paramétrer OgreMax, nous allons sélectionner dans ce menu l’option « Scene stettings » pour paramétrer la scène que nous sommes en train de créer. Dans la boîte de dialogue, nous sélectionnons l’onglet « Materials » dans lequel, nous cochons la case « Copy Bitmaps to Export Directory ». Ceci permet de copier les textures vers le dossier de textures utilisé par OpenSpace3D.

Paramètres OgreMax - Materials

Nous sélectionnons ensuite l’onglet « File/Directories« . Dans la sous-section « Directories », nous ajoutons le nom du répertoire pour chacun des types de ressources exportées :

Paramètres OgreMax - Directories

Enfin, dans l’onglet « Ogre« , nous indiquons le répertoire d’export de base comme indiqué dans la capture ci-dessous :

Paramètres OgreMax - Ogre

Les noms des répertoires doivent être les mêmes que ceux utilisés dans l’onglet « File/Directories » ; le répertoire « scene » est le répertoire dans lequel se situe votre scène :

directory=partition/scene/material
directory=partition/scene/mesh
directory=partition/scene/bitmap
directory=partition/scene/model
directory=partition/scene/programs

Votre système est prêt pour faire une première scène.

Construction de la scène sous 3DS Max 2009

La particularité de la construction d’une scène pour OpenSpace 3D réside dans l’utilisation des matériaux OgreMax. Je pars d’une scène très simple qui comprend un sol et deux murs formant un angle entre eux. J’ai placé une lumière de type omni et une caméra ciblée dans la scène. Les matériaux OgreMax Les matériaux OgreMaxChaque matériau OgreMax est constitué de « Techniques ». Une technique est un ensemble de passes effectuées par la carte graphique lors du rendu. Chaque passe peut contenir jusqu’à huit textures. Les passes servent de calques (diffuse, bump, …) qui donnent la texture finale. Il est important de garder à l’esprit que chaque élément (material, technique, passe, texture) doit être nommé de manière unique. Construction des matériaux OgreMax de la scène Nous allons construire maintenant les matériaux de notre scène. Nous commençons par ouvrir l’éditeur de matériaux de 3DMax 2009 et nous cliquons sur le bouton de sélection du type de matériau afin de sélectionner le matériau « OgreMax material ». Lorsque nous sélectionnons le type de matériau « OgreMax Material », une boîte de dialogue apparaît en nous demandant si nous voulons conserver le matériau actuel comme sous-matériau du matériau que nous somme en train de créer. En sélectionnant cette option en cliquant sur OK, nous pourrons voir le matériau dans les viewports par défaut de 3DSMax.  Il faut en effet savoir que les matériaux OgreMax ne sont pas visibles dans les viewports par défaut de 3DSMax.

Sélection du material OgreMax

Il va nous falloir ensuite sélectionner successivement une technique (1a et 1b), une passe (2c et 2d) et une texture (2e, 2f et 2g) comme indiqué sur la succession de captures ci-dessous : Construire un matériau OgreMax Il est possible de voir la scène telle qu’elle sera rendue par Ogre3D directement dans un des viewports de 3DSMax. Pour cela, nous sélectionnons, dans le menu d’un viewport, le sous-menu Views > Extended > OgreMax Viewport, comme indiqué dans la capture ci-dessous : Sélection du viewport OgreMax dans 3DSMax Je n’ai pas pris le temps de vous rappeler les différentes étapes pour mapper les textures sur les différents plans de la scène que nous avons construite. En ce qui concerne cette scène, j’ai appliqué simplement des modificateurs « UVW Map ». Dans tous les cas de figure, n’oubliez pas de systématiquement faire un « Reset Xform » (Utilities > Reset Xform) et de collapser l’ensemble des objets (Utilities > Collapse). Nous pouvons désormais exporter la scène vers OgreMax.

Export de la scène avec OgreMax

Pour exporter la scène, il suffit de sélectionner le sous-menu File > Export et de sélectionner le type de fichier OgreMax Scene (*.SCENE). Nous donnons un nom au fichier (ici os3d-blog.scene) et nous cliquons sur le bouton « Enregistrer ». Si vous avez cochez la case correspondante dans les paramètres OgreMax de la scène, le viewer d’OgreMax s’ouvre et vous permet de voir la scène : Dans OgreMax Viewer Lorsque l’export s’est bien déroulé, une boîte de dialogue vous indique que l’export est terminé. Il nous reste à importer notre scène dans OpenSpace3D.

Import de la scène dans OpenSpace3D

Je ne parlerai pas de l’installation du Scol Voy@ger et d’OpenSpace3D ; ces opérations sont basiques et ne posent pas de difficultés majeures. Après le lancement d’OpenSpace3D Editor, vous voyez cette fenêtre : La fenêtre principale d'OpenSpace3D L’interface d’OpenSpace3D est divisée en trois zones principales :

  • l’arbre de scène ;
  • la vue 3D ;
  • l’apport d’interactivité.

Dans la barre d’outils, nous importons la scène en cliquant sur le bouton d’import. Une boîte de dialogue nous demande alors de sélectionner le type de scène à importer : OgreMax Scene (.scene) ou OpenSpace3D (.xos). En cliquant sur le bouton « Next », nous allons pouvoir choisir le fichier que nous venons d’exporter depuis 3DSMax. Après avoir choisi le fichier, nous avons la succession de plusieurs boîtes de dialogue qui nous informe sur les chemins des ressources utilisées dans la scène ; ces chemins correspondent à ceux que nous avons renseignés lors de la configuration des paramètres OgreMax de la scène sous 3DSMax. Import des chemins de ressources OgreMax Lorsque l’import est terminé, la scène est visible dans la vue 3D d’OpenSpace3D Editor comme le montre cette vue : Scène importée dans la vue 3D d'OpenSpace3D Il ne reste plus qu’à enregistrer la scène au format OpenSpace3D (.xos). Conclusion Nous arrivons au bout de cette première découverte d’OpenSpace3D. Pour information, j’ai exporté la scène vers un serveur web. Elle est accessible à cette adresse. Je reviendrai sur cette étape d’export pour le web dans un prochain tutorial. N’hésitez pas à ajouter vos suggestions en utilisant les commentaires.

Categories: Tutorial Tags: , ,
  1. stomm
    06/07/2010 à 14:50 | #1

    Bonjour, j’essaye de me mettre correctement à OpenSpace3D, j’ai suivi votre tutoriel à la lettre, et pourtant lorsque j’importe la scène dans OpenSpace3D, je ne vois que les helpers (représentés par des cubes), et je n’ai pas l’objet 3D (les murs) qui apparait.

    J’ai vu sur le forum de OpenSpace3D que vous aviez eu ce genre de problème une fois et que vous aviez juste eu à importer le mesh séparément, ce que j’ai essayé de faire mais sans succès, OS3D retourne une erreur dans le log lorsque j’essaye l’import.

    Si vous êtes dans la mesure de m’aider, je vous en remercie d’avance.

    Stomm

  2. stomm
    07/07/2010 à 12:18 | #2

    Erreur trouvée : J’utilisais l’exporteur pour Ogre 1.7, alors que OpenSapce3D ne supporte que la 1.6.

  3. yodino
    08/07/2010 à 21:22 | #3

    Bonjour Stomm,
    Je te remercie de t’intéresser à mon tutoriel sur OpenSpace3D. Je vais en faire d’autres dans les semaines à venir. N’hésite pas à revenir sur le forum. Ca tombe bien que tu aies trouvé la solution tout seul, parce que j’étais en déplacement et je n’aurai pas pu te répondre.
    A+
    yodino

  1. Pas encore de trackbacks