16 février 2022

Annonce de la première release 2022 d’Evergine

Bienvenue dans la première release d’Evergine de 2022 (Evergine 2022.2.16). Conformément à notre feuille de route, nous publierons cette année deux versions majeures, la première en février et la seconde en septembre ; voici donc la première, avec de nombreuses nouveautés et améliorations.

 

Quoi de neuf depuis la dernière version de 2021 ?

À la suite des retours de nos clients, nous avons ajouté la prise en charge d’OpenXR et de Meta Quest via l’API Vulkan. Nous avons également amélioré les fonctionnalités des prefabs, réduit jusqu’à 90 % le temps de compilation des shaders du Standard Material, ajouté une nouvelle interface utilisateur pour gérer les add-ons et publié les deux premiers add-ons : MRTK et Azure Remote Rendering, pour le développement HoloLens.

Vous pouvez télécharger Evergine ici :

 

Points forts d’Evergine

 

Prise en charge d’OpenXR

OpenXR est un nouveau standard conçu par le Khronos Group pour unifier le développement sur de multiples appareils de RV/RA/RM. Derrière cette initiative figurent des entreprises comme Meta, Microsoft, HTC, Steam, Varjo et Magic Leap, ce qui permet de prendre en charge l’ensemble de leurs appareils. La prise en charge officielle d’OpenXR permettra aux développeurs Evergine de créer de nouvelles applications compatibles avec les nouveaux appareils XR à venir.

 

Modèle de projet Meta Quest

Suite aux récentes annonces de Facebook, l’appareil Oculus Quest s’appelle désormais Meta Quest ; c’est actuellement le casque de RV le plus populaire, avec environ 10 millions d’unités vendues du dernier-né, le Quest 2. Auparavant, nous prenions en charge les appareils de RV via l’API OpenVR, mais nous l’avons remplacée : dans cette nouvelle release, ils fonctionnent désormais sous OpenXR.

Pour des performances maximales et pour prendre en charge les futures fonctionnalités graphiques, nous utilisons Vulkan comme unique API graphique sur cette plateforme basée sur Android.

Pour en savoir plus sur la création d’applications pour Meta Quest avec Evergine, poursuivez votre lecture sur OpenXR & Meta Quest.

 

Nouvel add-on MRTK (Mixed Reality ToolKit)

Créer une application HoloLens nécessite des interfaces graphiques 3D, comme des boutons, des curseurs, des menus de main, etc. Nous avons regroupé tous les contrôles 3D développés pour nos applications et les proposons à nos clients de manière plus accessible qu’auparavant, grâce à un nouvel add-on. Il vous suffit désormais de créer un projet vide avec Evergine Studio, d’ouvrir les paramètres du projet et d’installer l’add-on MRTK. Toutes les ressources, comme les assets, les prefabs et les comportements, seront ajoutées à votre projet, et toutes les dépendances NuGet seront résolues pour vous.

Pour en savoir plus sur la création d’applications HoloLens avec cet add-on, consultez MRTK Add-On

 

Nouvel add-on Azure Remote Rendering

Ce nouvel add-on permet aux clients de créer des applications HoloLens utilisant le service Azure Remote Rendering, très utile pour charger et afficher depuis des appareils HoloLens des modèles très détaillés comptant des millions de polygones. Il s’appuie sur la technologie de rendu GPU dans le cloud pour repousser les performances actuelles d’HoloLens et afficher des modèles dont le rendu serait impossible avec le chipset de l’appareil.

Les GPU du cloud effectuent le rendu et envoient le résultat en flux H264 à l’appareil en temps réel ; le service envoie également le depth buffer du rendu effectué dans le cloud, ce qui permet un rendu mixte combinant, en même temps, la géométrie rendue dans le cloud et la géométrie et l’interface 3D rendues sur l’appareil, par exemple.

Pour en savoir plus sur cet add-on et ce service, consultez ARR Add-On.

 

Nouvelle interface des add-ons

Jusqu’à cette release, les add-ons devaient être configurés par code ; vous trouverez désormais une nouvelle interface utilisateur dans les paramètres du projet d’Evergine Studio. Cette nouvelle interface vous permet d’installer, de mettre à jour et de supprimer des add-ons du projet en cours, d’ajouter toutes les ressources et de résoudre automatiquement les dépendances des packages NuGet dans le projet Visual Studio.

Nous travaillons sur d’autres add-ons qui seront inclus dans les prochaines versions d’Evergine ; pour en savoir plus, consultez New Add-Ons interface.

 

Améliorations des prefabs

Nous continuons d’améliorer le système de prefabs, très utile lorsque vous devez reproduire plusieurs fois une structure précise de votre hiérarchie d’entités. Il vous suffit de choisir un nœud de la hiérarchie d’entités et de sélectionner « Create prefab » pour créer le nouvel asset, qui contient la sérialisation de l’entité.

Tous nos nouveaux add-ons utilisent ce système de prefabs pour partager des structures d’entités utiles lors du développement d’applications exploitant ces fonctionnalités. Une fois le nouvel asset prefab stabilisé, nous travaillerons sur un nouvel éditeur visuel de prefabs qui vous permettra de modifier ces assets ; il devrait être disponible dans la prochaine version majeure.

Pour en savoir plus sur le système de prefabs, consultez Prefabs additions.

 

Réduction du temps de compilation des shaders du Standard Material

À la suite de ces retours, nous avons cherché à réduire le temps de compilation du shader du matériau standard. Après mûre réflexion, nous avons décidé d'ajouter de nouvelles directives de compilation afin de fragmenter le code par type de lumière, car le code associé à chaque type de lumière est assez long (il implémente le rendu physiquement réaliste et des techniques complexes de shadow mapping). La plupart de nos clients n'utilisent que des lumières directionnelles, mais le moteur prend en charge un large éventail de types de lumières : lumières ponctuelles, spots, lumières surfaciques sphériques, tubulaires, rectangulaires et en disque. Désormais, le code de chaque type de lumière n'est compilé que si le projet utilise ce type de lumière, ce qui est détecté automatiquement, sans aucune action de la part de l'utilisateur. Même dans le pire des cas, avec des ombres de haute qualité, le temps de compilation diminue de 90 %.

Par ailleurs, l'analyseur de shaders a été amélioré : il est désormais possible de détecter quelles directives d'effet sont utilisées dans chaque passe. Cela nous fournit davantage d'informations sur les combinaisons de shaders à compiler en fonction des informations de la passe et des directives actives filtrées. La nouvelle version réduit ainsi le nombre de combinaisons de shaders à collecter.

Ces deux améliorations ont un impact direct sur le chargement d'une scène ou d'un projet. Lorsque vous exécutez une scène, Evergine doit compiler toutes les combinaisons du Standard Effect nécessaires pour la dessiner. Grâce à ces améliorations, nous avons réduit le nombre de combinaisons à compiler ainsi que le temps de collecte de chacune d'elles.

Voici le résultat de la comparaison entre la version 2021 et la nouvelle version 2022 d'Evergine sur l'exemple de démo automobile :

Démo automobile https://github.com/EvergineTeam/Automotive-Demo

 

Plus de documentation

Nous avons mis à jour le site de documentation afin d'approfondir les informations sur les nouvelles fonctionnalités et d'augmenter le nombre de sections documentées. Vous trouverez désormais une liste déroulante permettant de choisir entre différentes versions, actuellement 2021.11.17 et 2022.2.16 ; pensez donc à sélectionner l'option correspondant à la version d'Evergine avec laquelle vous travaillez. Enfin, nous avons commencé à ajouter davantage d'informations sur les extensions et add-ons inclus dans cette release.

Consultez toutes les modifications sur https://docs.evergine.com/

 

Et ensuite ?

Nous travaillons en 2022 sur de nombreuses fonctionnalités qui répondent aux besoins des entreprises avec lesquelles nous collaborons, dans des domaines comme le métavers, avec la prise en charge de nouveaux types d'appareils MR et VR ; le jumeau numérique, avec la prise en charge des fichiers de nuages de points et l'amélioration de notre prochain add-on pour les formats de fichiers CAO ; les données synthétiques, avec un nouveau path tracer basé sur RTX intégré comme nouveau pipeline de rendu dans Evergine Studio ; et enfin la plateforme web, avec la prise en charge des technologies WebXR et WebGPU.

Toute l'équipe espère que cette nouvelle release d'Evergine vous plaira.

Javier canton
Auteur
Javier Cantón
Plain Concepts Research