L’interview : Utilisation d’Unreal Engine chez AVSimulation

Entretien avec Valérie DOGNIN, Responsable Produit, et Geoffroy Lacarrière, Ingénieur Conception Développement C++ chez AVSimulation

Pouvez-vous m’expliquer ce qu’est Unreal Engine ?

G. Lacarriere: Unreal Unreal Engine est principalement un moteur 3D, mais il comprend également un ensemble d’outils autour de ce moteur 3D qui facilitent la création d’applications 3D à tous les niveaux; ces outils permettent de récupérer des éléments graphiques et de traiter les optimisations qui seront ensuite affichées à l’écran.

Utilisez-vous Unreal Engine chez AVSimulation ?

G. Lacarriere : Aujourd’hui, oui. Nous utilisons Unreal Engine chez AVSimulation. Avant d’adopter Unreal, nous utilisions un moteur appelé OpenSceneGraph. C’est un moteur ancien qui commence à devenir complètement obsolète, ce qui nous limite sur de nombreux sujets sur lesquels nous souhaiterions évoluer. Cela demande beaucoup de temps, d’énergie et de développement pour réaliser des choses qui ne sont pas natives au moteur OSG, mais qui sont presque natives à Unreal. L’OSG a accumulé un retard technologique qui, avec le temps, ne pourra jamais rattraper les avancées actuelles en 3D, photoréalisme, etc.

Le retard dans les avancées du moteur OSG a-t-il déclenché votre besoin de changer de moteur ?

G.Lacarriere : En effet, notre objectif est d’obtenir l’image 3D la plus photoréaliste possible, tant en termes de rendu visuel pour les utilisateurs de simulateurs que sur la notion de capteur afin d’être le plus représentatif possible. Quelle est votre ambition pour l’avenir ?
V. Dognin : Notre ambition est de développer une chaîne d’outils unique et complète qui sera utilisée par les équipes de Recherche Innovation ainsi que par les ingénieurs tout au long du V-Cycle. L’objectif est d’accélérer le développement des véhicules autonomes et connectés, quel que soit le format des systèmes de test : station de travail simple, simulation massive dans le cloud, simulateurs de conduite, bancs HIL / VIL. Lorsque vous avez commencé à chercher un nouveau moteur, qu’est-ce qui vous a conduit à choisir Unreal plutôt qu’un autre moteur ?

G. Lacarriere: Nous avons comparé les moteurs existants pour déterminer lequel offrirait le plus d’avantages à nos utilisateurs dans le domaine de la 3D. Unreal est arrivé parmi les trois moteurs que nous avons sélectionnés. Il avait un avantage par rapport à d’autres moteurs comme Unity : il est codé en C++ et est open source, contrairement aux autres.

Nous avons considéré à la fois des aspects techniques et pratiques, dans le sens où nos équipes de développement connaissent bien le C++ et l’aspect open source. Ce savoir-faire est intéressant pour nos clients, car il permet de rendre nos développements plus stables et plus rapides. Nous étions rassurés de pouvoir modifier ou comprendre comment le moteur est conçu en interne. Le prix de la licence a également été un facteur important par rapport à d’autres solutions.

Vous utilisez Unreal Engine dans son intégralité ?

V. Dognin : Non, nous sommes encore dans la phase de transition qui durera encore quelques années. Pour le moment, seuls le module visuel et le capteur de caméra sont mis à jour sous Unreal Engine. Dans les années à venir, nous prévoyons d’intégrer également Terrain et SCANeR Studio. L’objectif à long terme est de transférer l’ensemble des fonctionnalités d’OSG vers Unreal.

Quelle est la partie la plus difficile de cette phase de transition actuellement ?

G. Lacarriere: C’est la cohabitation avec l’ancien moteur qui est actuellement le plus difficile. Pour le moment, nous ne pouvons pas passer entièrement de l’un à l’autre. Nous avons tout un écosystème qui est encore très dépendant de l’ancien moteur, ce qui nécessite la coexistence des deux moteurs pendant la transition. Cela engendre des contraintes. L’une des contraintes concerne les actifs 3D qui sont construits et formatés pour l’utilisation de l’OSG, et qui auront un formalisme différent pour Unreal afin de tirer pleinement parti des performances du moteur. La technologie Unreal ne peut pas encore être utilisée partout ; nous sommes obligés de la restreindre un peu pour le moment, et il y a une coexistence des moteurs pendant la transition. Pouvez-vous exécuter des simulations sur le moteur Unreal ?

G. Lacarriere: Oui, tous les scénarios actuels de conduite ou autres sont compatibles. Le rendu visuel fonctionne, les caméras et les capteurs fonctionnent également, mais pour l’instant, pour la partie Unreal, c’est là que s’arrête notre utilisation. Nous avons le warping-static, et le warping-dynamic est en cours d’intégration. Il y a beaucoup de petits détails comme ça. Mais oui, il est possible de réaliser une simulation, par exemple pour un rendu visuel avec certains scénarios. En attendant d’être entièrement fonctionnels avec l’ancien visuel, nous recommandons d’utiliser le visuel Unreal en tant que prévisualisation. Mais nous couvrons déjà plus de 80 % du périmètre fonctionnel avec ce nouveau visuel Unreal. D’après ce que vous pouvez voir et lire, Unreal est bien plus qu’un moteur 3D. C’est une plateforme de développement. Envisagez-vous d’utiliser Unreal pour développer vos propres capteurs et caméras, et si oui, quel en serait l’avantage ?

G. Lacarrière : Unreal propose de nombreux outils pour la gestion et l’analyse de la 3D, de la lumière, de la colorimétrie, des effets visuels, des passes de rendu, des optimisateurs, du profiling, etc., qui seront utiles pour tout nouveau développement.
V. Dognin : Nous ne sommes pas fournisseurs de capteurs ; notre objectif n’est pas de fabriquer nous-mêmes les capteurs, mais de fournir aux utilisateurs la possibilité de tester les capteurs et d’avoir les bons paramètres de configuration qui représenteront leurs capteurs. Il est probable que nous proposerons des exemples afin que les utilisateurs puissent se faire une idée du rendu.
G. Lacarrière : Dans le moteur 3D, l’objectif est d’afficher une image réaliste. Le capteur de la caméra analysera cette image, ce qui lui permettra d’obtenir une image plus réaliste. Pour le développement du capteur, il sera plus intéressant d’avoir davantage de détails à analyser. Possiblement, il y aura davantage de conditions météorologiques, d’effets de perturbation, ce qui est très intéressant pour le développement de capteurs, et qui n’aurait pas été possible, ou beaucoup moins avec l’ancien moteur. En version 2021.1 de SCANeR, avez-vous tout réalisé sous Unreal ?
G. Lacarrière : Non, malheureusement, ce n’est pas encore entièrement fonctionnel. Mais l’objectif est d’avoir une fonctionnalité complète équivalente à l’ancien visuel, tout en proposant des améliorations futures et d’autres évolutions que l’ancien moteur ne permettait pas.
Les utilisateurs peuvent-ils utiliser Unreal dans un simulateur ?

G. Lacarrière : Lorsqu’il s’agit d’un simulateur simple, utilisant le warping-static, oui. Mais dans un simulateur avec mouvement, non.
Quand pensez-vous que cela sera disponible ?
V. Dognin : Le warping-dynamic sera inclus dans la prochaine version, la 2022.1 de SCANeR. Une fois cela réalisé, nous pourrons simuler sur des simulateurs plus grands. Vous avez mentionné que la fonction des phares est, pour le moment, limitée sous Unreal. Envisagez-vous de l’évoluer ? Si oui, quand et quels seraient les avantages pour les utilisateurs ?

V. Dognin : Idéalement, nous aimerions le faire cette année, mais je ne pense pas que nous aurons le temps de finaliser tout. Pour avoir toutes les fonctionnalités de SCANeR aujourd’hui portées sur Unreal, ce sera plutôt pour l’année prochaine. Quel est le processus pour mettre à jour les phares sous Unreal ? Quelles sont les contraintes associées ?

V. Dognin : Aujourd’hui, nous disposons de différents outils pour configurer les phares, ce qui n’est pas simple. En effet, cela demande beaucoup de travail, et c’est toute cette couche métier que nous devons ajouter à Unreal, afin d’avoir à la fois une qualité de rendu élevée et de ne pas perdre tout le savoir-faire acquis jusqu’à présent, et ce depuis 20 ans. Le défi est d’intégrer cette couche métier dans ce que Unreal propose déjà. Il y a beaucoup de questions sur ce qui existe déjà dans Unreal, ce que nous avons déjà acquis, ce que nous pourrions exploiter, et ce que nous devons recréer. G. Lacarriere :Aujourd’hui, nous devons configurer le visuel en mode phares pour activer de nombreuses options de calcul supplémentaires, comme l’éclairage, entre autres.C’est ce que nous essayons d’intégrer nativement dans le moteur Unreal. Le développement des phares nous permettra d’obtenir un rendu plus réaliste sans nécessiter nécessairement un mode particulier. Autrement dit, le mode Phare deviendra éventuellement le mode de rendu par défaut.

Avez-vous rencontré des contraintes durant la transition entre l’ancien moteur et Unreal ?

G. Lacarriere : Au début, oui, il y avait des contraintes imposées par l’ancien moteur dont nous ne pouvions pas nous défaire, ce qui entravait notre développement. Mais peu à peu, nous avons surmonté ces obstacles en développant des outils permettant de contourner ce genre de contrainte. En particulier pour tout ce qui concerne les modèles 3D de véhicules disponibles, en l’absence de graphistes pour effectuer des modifications ou des mises à jour des modèles 3D. Une autre contrainte était le besoin d’un rendu réaliste dans Unreal, nécessitant des améliorations graphiques que nous n’avions pas besoin dans l’ancien moteur, car il ne gérait pas certains effets. Pour éviter qu’un nouveau moteur 3D affiche un visuel semblant déjà daté, nous devions mettre en place une couche de mise à jour. Il a fallu développer de petites astuces pour utiliser les anciens modèles 3D en haute définition.
Les clients de SCANeR 2021.1 ont-ils le choix entre utiliser l’ancien modèle et Unreal ? Ou cela est-il imposé par le logiciel ?
V. Dognin : Pour l’instant, les deux sont encore présents dans la version 2021.1 et cela sera probablement également le cas pour la version 2021.2. Tant que nous n’aurons pas une fonctionnalité ISO entre notre ancien moteur et le nouveau, nous ne supprimerons pas l’ancien. Nous ne voulons pas pénaliser les utilisateurs avec nos choix de transformation.

G. Lacarriere :Le visuel Unreal est présenté comme une prévisualisation.Autrement dit, les utilisateurs de SCANeR continuent d’utiliser le visuel actuel, mais ont déjà un aperçu de ce que sera le visuel suivant.

Comment cela se passe-t-il pour les clients qui décident de travailler avec Unreal ? Les scènes sont-elles automatiquement optimisées ou faut-il effectuer un travail pour les rendre photoréalistes ?

G. Lacarriere : Je dirais donc les deux. Nous avons un passage automatique qui tente d’améliorer les choses. Mais ce n’est pas non plus de la magie. Cela dépend vraiment des données source. Cela dépend également de la manière dont l’infographie a été réalisée et si les règles de nommage ont été respectées.

Ce qui se passe, c’est que nous essayons de reconnaître les éléments, et lorsqu’ils sont reconnus, nous les améliorons avec une version ou une nouvelle génération. Pour la partie automatique, si cette détection ne fonctionne pas, nous parvenons à afficher l’élément dans son état actuel, mais sans les améliorations. Nous offrons aux utilisateurs avancés la possibilité de revenir avec l’éditeur Unreal pour améliorer leurs ressources et intégrer les nouvelles, s’ils le souhaitent, afin de pouvoir afficher tout cela Si c’était l’original. Un mot de conclusion ?
G. Lacarrière : Un mot-clé concernant le moteur 3D, qui explique pourquoi nous sommes orientés vers cette nouvelle génération : le PBR, ou « Physically Based Rendering », est la principale raison du changement de moteur, de technologie et de génération. Avant, il y avait une méthode pour calculer la 3D qui n’était pas réaliste et qui utilisait certains paramètres pour essayer de la rendre plus crédible. Avec le PBR, le paradigme a changé : nous avons décidé que pour atteindre le photoréalisme, nous devions nous baser sur des valeurs physiques. Basé sur la réalité pour simuler la réalité. C’est ce qui permet d’obtenir cet aspect réellement différent en 3D.

Pour en savoir plus sur Unreal Engine chez AVSimulation, cliquez sur le lien suivant et consultez l’article d’Epic Games : L’environnement de simulation automobile polyvalent bénéficie d’un coup de pouce grâce à Unreal Engine – Unreal Engine.
Table of Contents

DEMANDEZ UNE DÉMO AVEC L'UN DE NOS EXPERTS

La solution de simulation automobile la plus complète du marché