Aller au contenu

OpenSpace3D

Un article de Wikipédia, l'encyclopédie libre.
Openspace3D
Logo de la marque openspace3D
Description de cette image, également commentée ci-après
Exemple de l'interface du logiciel OpenSpace3D
Informations
Développé par (chef de projet) Bastien Bourineau, (société) i-magineXR (groupe i-maginer)
Première version
Dernière version Version 1.92 ()
Dépôt https://svn.openspace3d.com
État du projet En développement actif
Écrit en Scol, C, C++
Environnement (création) Microsoft Windows, (déploiement) Microsoft Windows, MacOS, Linux, Android, iOS, Raspberry Pi
Langues Français, Anglais, Italien, Espagnol, Portugais, Chinois, Russe
Type Moteur de jeu
Licence GNU LGPL version 3
Site web Site officiel

Openspace3D (OS3D) est un moteur de jeu libre dont le développement est effectué en continu par le groupe nantais i-maginer. Se rattachant à la philosophie du groupe qui se focalise dans le numérique et la formation, openspace3D est une solution logicielle dédiée à la création d'applications et de jeux vidéos immersifs qui s'appuient sur des technologies de réalités étendues (XR), autant en réalité augmentée (AR), qu'en réalité virtuelle (VR) ou réalité mixte (RM). Se voulant accessible à tous, le moteur de jeu se présente à l'utilisateur 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 (Standard Cryo OnLine Language), lui-même basé sur les langages C et C++, ainsi que sur le moteur SO3Engine conçu pour openspace3D.

Créé en 2009 par l'équipe de développement du groupe i-maginer et repris en 2023 par sa société i-magineXR dans le but de faire évoluer les techniques de pédagogie immersive notamment en CFA, openspace3D est un moteur de jeu français qui reste avant tout une solution libre pour permettre aux créateurs de tout niveau de posséder les outils nécessaires à la création d'applications et de jeux vidéo complets et intégrant des fonctionnalités en réalité étendue.

Description[modifier | modifier le code]

Réalité étendue[modifier | modifier le code]

Bien qu'il soit possible de créer toutes sortes d'applications en 3D, tels 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é à rapidement créer 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.

Equipements supportés[modifier | modifier le code]

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):

En plus des casques de réalité virtuelle, openspace3D supporte également l'intégration d'un grand nombre d'autres périphériques:

PlugIT[modifier | modifier le code]

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.

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[modifier | modifier le code]

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[modifier | modifier le code]

Moteur de rendu 3D[modifier | modifier le code]

Openspace3D utilise sur le moteur de rendu 3D SO3Engine, basé sur le moteur 3D Ogre3D et développé spécifiquement pour openspace3D. Cela permet à openspace3D de fonctionner sur toutes les plateformes courantes: Windows, MacOS, Linux, Android, iOS, etc.

Programmation haut-niveau : Scol[modifier | modifier le code]

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[modifier | modifier le code]

Le noyau et les plugins de Scol sont rédigés dans les langages informatiques C et C++.

Formats compatibles[modifier | modifier le code]

Openspace3D permet l'importation et l'utilisation d'un grand nombre de formats multimédia :

Type de format Formats supportés
Image JPG, PNG, TGA, DDS, BMP
Audio WAV, MP3, OGG
Vidéo MP4, MPEG, AVI
Modèle 3D GLTF, GLB, COLLADA, FBX, 3DS, OBJ, BLEND, IFC, PLY, DXF, STL

Histoire du projet[modifier | modifier le code]

Genèse[modifier | modifier le code]

Suite à 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 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 enseignements, notamment au sein des CFA.

Historique des versions[modifier | modifier le code]

Version Date de sortie Description
Alpha Avril 2009 Première version alpha officielle
1.0 Mars 2012 Première release
1.8.1 Décembre 2014 Première version compatible avec l'Oculus DK2
1.83 Février 2020 Export vers l'Oculus Quest
1.92 Décembre 2023 Prise en charge des matériaux PBS, mode passthrough pour les casques VR

Documentation[modifier | modifier le code]

La documentation complète d'openspace3D est disponible sur le site internet du moteur 3D[1]. La documentation inclut notamment 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[2] mais aussi par la communauté d'utilisateurs[3].

Communauté de développement[modifier | modifier le code]

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é[4]. L'équipe de développement est aussi en charge 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[modifier | modifier le code]

Références[modifier | modifier le code]

  1. « OpenSpace3D documentation », sur www.openspace3d.com (consulté le )
  2. « Tutorial - YouTube », sur www.youtube.com (consulté le )
  3. Présentation du logiciel Openspace3d dans un cadre pédagogique, pascal deleage (, 8:26 minutes) Consulté le .
  4. « Aperçu - OpenSpace3D - SCOL Language », sur redmine.openspace3d.com (consulté le )

Liens externes[modifier | modifier le code]