Openspace3D (OS3D) est une solution logicielle de création d'applications et de jeux vidéos immersifs. Elle s'appuie sur des technologies de réalité étendue, autant en réalité augmentée qu'en réalité virtuelle ou réalité mixte. Se voulant accessible à tous, l'application se présente comme une solution en développement No code, qui permet une utilisation complète sans connaissance préalable en développement. Ainsi, Openspace3D repose sur le langage de haut niveau SCOL (), lui-même codé en C et C++, ainsi que sur le moteur de jeu libre SO3Engine, conçu pour Openspace3D.
Créé en 2009 par l'équipe de développement du groupe i-maginer, Openspace3D est repris en 2023 par sa société i-magineXR dans le but de faire évoluer les techniques de pédagogie immersive, notamment en CFA.
Description
Réalité étendue Bien qu'il soit possible de créer toutes sortes d'applications en 3D, telles que des jeux vidéo ou des serious games, le point clef d'Openspace3D est son développement orienté vers la conception d'applications et de jeux vidéos en réalité étendue (XR), qui permet à ses utilisateurs de pouvoir rapidement créer du contenu pour les réalités virtuelle, augmentée et mixte. Cette capacité à créer rapidement du contenu est d'autant plus mise en avant par l'aspect développement no code (qui concerne également l'intégration des périphériques immersifs dans les applications).
Équipements supportés Pour permettre un accès direct à un grand nombre de périphériques immersifs et en restant dans la continuité de sa philosophie de développement no code, Openspace3D est compatible avec la plupart des casques de réalité virtuelle du marché (Android embarqué, OpenXR, OpenVR):
Meta Quest Pico 4 HTC VIVE
En plus des casques de réalité virtuelle, le logiciel supporte également l'intégration d'un grand nombre d'autres périphériques :
Gamepad Tobii eye tracker Leap motion
PlugIT L'avantage majeur et considérable d'Openspace3D est qu'il offre la possibilité de réaliser des applications complètes en développement No code. Pour créer son application et la rendre interactive, l'utilisateur d'Openspace3D dispose d’une bibliothèque de fonctions se présentant sous une forme visuelle de blocs, appelés PlugIT, que l'on peut connecter entre eux sur une interface de type tableau blanc 2D. Ce sont ces connexions entre PlugIT qui vont rendre l'application interactive et créer le scénario de l'application finale.
centré|vignette|redresse=1.5|Capture de l'écran de programmation des PlugIT dans Openspace3D. Plusieurs catégories de PlugIT sont utilisables et connectables entre eux pour réaliser un large éventail d'actions possibles, tels que :
PlugIT de modèles 3D : objets, personnages, etc. ; PlugIT de périphériques : souris, clavier, gamepad, capteurs de téléphone, etc.
Il est également possible de créer des PlugIT personnalisés afin de répondre à des besoins spécifiques : ces derniers sont définis au travers d'un fichier XML décrivant les informations clefs du bloc : son nom, sa description, sa documentation, son script rédigé dans le langage Scol. Ces PlugIT sont ensuite utilisables avec les autres PlugIT intégrés à Openspace3D.
Exemple d'utilisation des PlugIT Pour permettre au joueur dans un jeu vidéo réalisé sur OpenSpace3D d'ouvrir une porte au moyen d'un interrupteur, il faut utiliser les PlugIT suivants :
Object click Rotate to
Les connexions des PlugIT seront alors les suivantes : Object click.LeftClick → Rotate to.Go
D'autres exemples sont disponibles dans les tutoriels Openspace3D en ligne, ainsi que dans le livre électronique d'introduction au logiciel.
Aspects techniques et langages de programmation
Moteur de rendu 3D Openspace3D utilise le moteur de rendu 3D SO3Engine, basé sur le moteur 3D Ogre3D et développé spécifiquement pour Openspace3D. Cela permet au logiciel de fonctionner sur toutes les plateformes courantes : Windows, MacOS, Linux, Android, iOS, etc.
Programmation haut-niveau : Scol Le moteur Openspace3D est basé sur le langage de programmation Scol (Standard Cryo OnLine Language), un langage de haut-niveau créé originellement par la société française Cryo-Interactive en 1997 et conçu pour le développement d'applications 3D. Scol est un langage fonctionnel composé d'un noyau et complété par différents plugins qui permettent de gérer les différents aspects du moteur du jeu, tels que les contrôleurs, les périphériques audio, etc.
Programmation bas-niveau Le noyau et les plugins de Scol sont rédigés dans les langages informatiques C et C++.
Formats compatibles Openspace3D permet l'importation et l'utilisation d'un grand nombre de formats multimédia : +Type de formatFormats supportésImageJPG, PNG, TGA, DDS, BMPAudioWAV, MP3, OGGVidéoMP4, MPEG, AVIModèle 3DGLTF, GLB, COLLADA, FBX, 3DS, OBJ, BLEND, IFC, PLY, DXF, STL
Histoire du projet
Genèse À la suite de la liquidation de la société Cryo Interactive en 2002, le langage Scol créé par la société est distribué sous licence libre et son développement est repris par d'anciens employés de sa filiale Cryo Networks. En 2006, le développement de Scol est assuré et financé par le groupe i-maginer afin de développer un moteur de jeu permettant la création simple d'application en 3D.
C'est ainsi qu'Openspace3D est créé et que sa première version est présentée en 2009 à l'occasion du salon international sur la réalité virtuelle Laval Virtual sous la forme d'un concours permettant aux participants de créer une application 3D complète en un temps limité de 30 heures et sans connaissances préalables en programmation.
La technologie reste depuis développée au sein d'i-maginer. L'année 2023 présente une nouvelle étape cruciale dans le développement d'Openspace3D, avec la création de la société i-magineXR dans le but de développer des solutions en réalité augmentée basées sur Openspace3D qui viendront renforcer les possibilités des formations et des enseignements, notamment au sein des CFA.
Historique des versions +VersionDate de sortieDescriptionAlphaAvril 2009Première version alpha officielle1.0Mars 2012Première release1.8.1Décembre 2014Première version compatible avec l'Oculus DK21.83Avril 2020Export vers l'Oculus Quest1.92Décembre 2023Prise en charge des matériaux PBS, mode passthrough pour les casques VR1.93Décembre 2024Pathfinding, intégration IA générative, Android XR, reconnaissance et synthèse vocale1.93.1Janvier 2025Mise a jour de la version SDL2, Correction du splashscreen et gestion des fenêtres sur Linux et Raspberry Pi
Documentation La documentation complète d'Openspace3D est disponible sur le site internet du moteur 3D. La documentation inclut surtout un cours pour apprendre le langage Scol ainsi qu'un guide pour la création de ses propres PlugIT. Pour accompagner la documentation technique et les guides en ligne, un manuel pédagogique basé sur une série de didacticiels, rédigé par le créateur et lead développeur d'Openspace3D, est disponible à l'achat sur le site internet.
Des tutoriels vidéos en ligne sont également disponibles pour débuter en Openspace3D, réalisés par l'équipe de développement mais aussi par la communauté d'utilisateurs.
Communauté de développement
La maintenance et le développement continu d'Openspace3D sont assurés depuis 2006 par le groupe i-maginer. En 2023, le groupe i-maginer fonde la société i-magineXR pour se consacrer au développement d'Openspace3D et de ses applications, notamment dans la pédagogie et la formation. Les axes de développements d'Openspace3D incluent notamment l'intégration de fonctions d'IA génératives pour aider à la conception des environnements 3D et pour augmenter l'immersion au travers de la génération de dialogues pour les personnages non-joueurs.
En sa qualité de logiciel libre, le suivi du développement d'Openspace3D est partagé en ligne dans un Redmine dédié. L'équipe de développement est aussi responsable du forum communautaire, qui est ouvert à tous les utilisateurs du moteur de jeu. Le forum permet notamment d'obtenir un support venant à la fois de la communauté, mais aussi de l'équipe de développement.
Moteurs analogues Unity Unreal Engine Godot Crystal Space C4
Références
Liens externes Site officiel Forum communautaire
Catégorie:Logiciel libre sous licence LGPL