Le son dans une scène immersive
Afin de pouvoir illustrer différentes propriétés du son telles que les effets de salles, la localisation ou encore les sons en mouvement nous avons dû nous intéresser à des facettes importantes du son : l'ambisonie, la binauralité ainsi que la réverbération.
C'est donc grâce au plugin de NoiseMakers que l'on va pouvoir intégrer ces propriétés dans Unreal Engine

Des propriétés importantes du son

Le Binaural
Un son binaural applique des filtres simulant les différences de temps, d’intensité et de timbre entre les oreilles, permettant une perception plus réaliste de la direction du son.

L'Ambisonie
Un son ambisonique est une technique d’enregistrement et de restitution audio qui capture une scène sonore en trois dimensions, permettant une immersion à 360°.
Il encode la direction et la profondeur du son, offrant une spatialisation plus réaliste.

La Réverbération
La réverbération est le phénomène de réflexion du son sur les surfaces d’un environnement, créant une succession d'échos prolongeant le son initial.
Elle permet de percevoir l’espace et la distance d’une source sonore, jouant un rôle clé dans la sensation d’immersion.

Unreal Engine
Il s'agit d'un moteur graphique de pointe axé sur le réalisme des graphismes qui permet le développement de jeux vidéo, de simulations, de visualisations architecturales et de RV. Il est propriétaire et développé par la société Epic Games. Ce moteur est gratuit, mais prend une part des revenus générés au-delà d’un certain montant.
Voir plusDéployer Unreal Engine dans Immersia
Notre objectif
Jusqu'alors Immersia fonctionnait exclusivement avec le moteur Unity. Une grande partie de notre projet consiste à déployer Unreal Engine dans Immersia.

Unreal Engine pour Immersia
Le souhait des chercheurs d'Immersia est de diversifier les possiblitées de la plateforme en y déployant un nouveau moteur

Immersia comment ça fonctionne ?
La plateforme est entre autres constituée d’un système immersif composé de 14 projecteurs répartis sur 4 écrans. Le tout forme donc une forme de parallélépipède rectangle totalisant 76m² de surface projetée. Le système se compose aussi de 7 ordinateurs, d’un système de son spatialisé, de lunettes de stéréoscopie et d’un système de traqueurs de mouvements à 360°.
L'enjeu est d'arriver à faire fonctionner tous les éléments composants Immersia ensemble avec Unreal Engine en tant que moteur.
Comment utilise-t-on Unreal Engine ?

nDisplay
Il s'agit d'un plugin primordial pour le fonctionnement d’une scène Unreal Engine sur une plateforme composée de plusieurs ordinateurs. En effet, dans le cas de multiples appareils, il est nécessaire que chacun d’entre eux effectue le rendu d’une partie de l’image, et non de son entièreté. Cependant, cela pose différentes contraintes, car il est donc impératif que les affichages soient synchronisés entre eux, et que chaque ordinateur sache quelle partie de l’image il doit afficher en temps réel. nDisplay va donc prendre ce rôle et s’occuper de la répartition des images de la scène.

Scène
Dans Unreal Engine, une scène représente l’environnement virtuel dans lequel se déroule l’action d’un projet. Elle est composée d’un ensemble d’objets appelés Actors, qui incluent des éléments comme les modèles 3D, les lumières, les caméras et les effets spéciaux. La scène est définie dans un Level, qui sert de conteneur principal pour organiser ces objets et leurs interactions. Grâce à l’éditeur de niveau, les développeurs peuvent agencer et personnaliser la scène pour créer des mondes immersifs et interactifs.

Blueprints
Les Blueprint sont un langage de script visuel qui permet notamment de créer des mécaniques de jeu et des interactions sans écrire du code C++. Les Blueprint implémentent un modèle de programmation événementielle orienté objet qui intègre toutes les primitives habituelles d'algorithmie (conditions, boucles, ...). Un code en Blueprint est composé de nœuds et de liens entre ceux-ci. Lors de l’exécution de la scène, lorsqu’un événement déclenche le premier nœud d’un programme, un signal traverse les liens et active les nœuds traversés. En réalité, un script réalisé en Blueprint fait référence à des fonctions ou des classes C++ sous-jacentes, mais les nœuds que nous manipulons ne sont pas du simple code C++. Le code est d’abord transformé, à la compilation, en code C++ très verbeux et peu lisible, puis ensuite transformé en bytecode exécutable par la machine virtuelle d’Unreal Engine.