La dernière version de l'outil 3D d'Epic Games – Unreal Engine 5 – apporte de nombreux avantages, ainsi que quelques défis. L'un des problèmes que nous avons rencontrés en travaillant avec ce logiciel était l'importation des modèles. La quête d'aujourd'hui consiste à comprendre le concept d'animation du système d'ossatures et à parcourir une étude de cas de création d'un squelette dans un projet Unreal Engine 5.

Qu'est-ce qu'Unreal Engine ?

Unreal Engine, développé par Epic Games, est une suite d'outils intégrés utilisés pour créer des expériences interactives, principalement dans l'industrie du jeu vidéo, en s'appuyant sur la technologie GPU pour le rendu en temps réel. Cependant, grâce à sa polyvalence, Unreal Engine est également utilisé dans la conception d'interfaces homme-machine, la visualisation architecturale ou la création et l'exécution de simulations. Au moment de la rédaction de cet article, la dernière version est Unreal Engine 5, publiée en septembre 2021.

Boîte à outils Unreal Engine pour les animations 3D

En matière d'animation 3D, Unreal Engine est particulièrement performant grâce à sa suite robuste d'outils d'animation. Elle comprend les éléments suivants :

  • Séquenceur : Il s'agit de l'éditeur non linéaire intégré d'Unreal Engine pour créer des animations cinématiques, des cinématiques en jeu, et plus encore. Vous pouvez animer des propriétés au fil du temps à l'aide d'images clés, ce qui permet de créer des séquences complexes impliquant des mouvements de caméra, des animations de personnages, de l'audio et des effets visuels.
  • Systèmes d'animation squelettique : Celui-ci est utilisé pour animer des personnages 3D organiques (c'est-à-dire des personnes, des animaux, des monstres) et d'autres objets techniques complexes (c'est-à-dire des véhicules, des appareils, des machines) à l'aide de techniques avancées d'animation squelettique 3D. Un maillage squelettique est défini par une hiérarchie d'os, qui peuvent être animés pour créer un mouvement réaliste. Ce système prend également en charge la cinématique inverse, ce qui permet des mouvements plus naturels au niveau des articulations des personnages, comme l'ajustement des mouvements des jambes en fonction du terrain.
  • Control Rig : Le rigging désigne le processus de création de la structure osseuse d'un modèle, ensuite utilisée pour animer l'objet selon les intentions de l'animateur. Control Rig est le système d'Unreal Engine permettant de créer des déformations basées sur des poses directement au sein du moteur. Il offre une interface nodale pour définir des comportements complexes et peut être utilisé avec Sequencer pour créer des animations de personnages.
  • Animation basée sur la physique : Unreal Engine fournit également des outils pour simuler des animations basées sur la physique, comme les tissus, les fluides ou les corps rigides. Cela permet de créer un mouvement réaliste qui réagit à la physique du jeu, comme un drapeau qui flotte au vent.
  • Plans d'animation : Blueprints est un système de script visuel utilisé pour créer une logique d'animation complexe, comme déterminer quelles animations jouer dans certaines conditions, mélanger des animations et manipuler des animations dynamiquement en fonction des conditions de jeu.

Ces fonctionnalités, associées aux puissantes capacités de rendu d'Unreal Engine et à son système de matériaux avancé, en font un excellent outil pour créer des animations 3D riches et immersives.

Découvrez nos services de conseil et de développement en HMI

En savoir plus

Logiciel externe de modélisation 3D

Étant donné qu'Unreal Engine sert d'environnement de moteur de jeu typique pour le développement de jeux ou d'applications, il n'est pas intrinsèquement équipé pour sculpter des objets 3D, dessiner des textures ou animer des objets. Par conséquent, les créateurs optent souvent pour la génération de contenu via des outils 3D externes avant d'importer les ressources finalisées dans Unreal Engine. Les outils les plus populaires pour la création d'animations 3D sont Blender, 3ds Max, Maya, et pour le segment CAO, Catia, Autodesk Alias et Siemens NX.

Squelette, maillage squelettique et animation squelettique

Un squelette (parfois appelé « système d'ossatures ») est une technique de rigging utilisée pour créer des mouvements complexes et réalistes. Il ne ressemble pas à un squelette biologique réel ; il se compose donc de divers « os », chacun représentant une partie différente d'un modèle pouvant être manipulée indépendamment ou collectivement. Les os sont liés à des parties spécifiques du maillage squelettique 3D, permettant un mouvement de personnage plus dynamique. Le maillage est une surface visuelle d'un modèle de forme défini par le squelette sous-jacent.

La combinaison du squelette et du maillage squelettique conduit à l'animation squelettique. Il s'agit d'une technique d'animation 3D dans laquelle un objet est représenté en deux parties : une surface visuelle (le maillage) et un système d'os interconnectés (le squelette) qui met le personnage en mouvement. L'animation squelettique est la méthode la plus populaire et la plus largement utilisée pour animer des objets composés de plusieurs éléments tout en maintenant des relations spécifiques entre eux.

Unreal Engine 5 3D model import

Exemple

Considérons un modèle 3D d'une excavatrice.

Tout d'abord, un artiste 3D crée un maillage, c'est-à-dire la représentation visuelle de la machine, incluant des éléments tels que la cabine, la flèche, le bras ou le godet.

Ensuite, ils préparent un squelette numérique à l'intérieur du modèle. Celui-ci se compose d'os pour chaque partie censée se déplacer – un os pour la flèche qui lui permettrait de monter et descendre, un autre pour le bras afin de se déplacer vers l'intérieur et l'extérieur, ou un os pour le godet afin de reproduire les mouvements de creusement et de déversement.

Une fois le squelette créé, il est temps de le rattacher au maillage par le biais du rigging, c'est-à-dire de relier chaque os à l'élément de maillage qu'il doit déplacer. L'os de la flèche sera relié à la partie flèche du maillage, l'os du bras à la partie bras, et ainsi de suite. Le résultat de ce processus est le maillage squelettique.

Lorsque le processus d'animation démarre, l'animateur met en mouvement l'os du godet. Grâce aux associations établies lors du rigging, le maillage autour du godet suit le mouvement de l'os, et l'excavatrice semble creuser.

Comment importer des conceptions 3D dans un projet Unreal Engine ?

Bien qu'il existe plusieurs façons d'importer et d'animer des modèles 3D dans Unreal Engine (entre autres le blending ou la construction d'une arborescence hiérarchique d'objets), nous nous concentrons aujourd'hui sur le système d'os et le rigging.

Bien que quelque peu complexe, cette méthode implique d'ajouter un squelette complet au modèle et de définir de nombreuses contraintes physiques afin de garantir leur bon fonctionnement lors de l'animation des mouvements.

Il fournit un comportement de mouvement réaliste et naturel pour de nombreux objets interdépendants, ce qui le rend particulièrement utile pour les objets complexes présentant des relations intricées entre leurs parties. Par exemple, imaginez reproduire une animation d'un moteur de voiture en fonctionnement tout en maintenant le fonctionnement naturel de tous ses mécanismes, tels que les différentiels, les engrenages, les pistons ou, comme mentionné ci-dessus, le mouvement de la pelle excavatrice avec plusieurs vérins actifs.

Unreal Engine 5 3D model import

Cependant, cette méthode présente des défis importants. Elle exige une maîtrise de plusieurs logiciels 3D et de nombreux modules pour construire un système osseux et définir ses relations physiques. De plus, une compréhension approfondie de l'échange de données entre le programme 3D et Unreal Engine (ou un autre moteur comme Unity) est cruciale.

De plus, bien que cette méthode offre des outils riches et d'immenses possibilités, Unreal Engine (et les moteurs de jeu en général) ne prend en charge que l'importation de maillages squelettiques et ignore les données relatives aux contraintes physiques et aux connexions dans le système osseux. Ces contraintes doivent ensuite être redéfinies dans Unreal Engine, ce qui peut représenter une tâche considérable.

Étude de cas DigiTwin : comment nous avons importé et animé un modèle 3D de pelle mécanique

DigiTwin est le projet de R&D de Spyrosoft. Il s'agit d'un jumeau numérique d'un modèle physique de pelle ; l'application capture les données issues des mouvements de la machine et les reproduit sur une tablette en temps réel. Les dispositifs physiques et numériques possèdent des points de mouvement tels que la rotation de la cabine, le mouvement de haut en bas sur deux parties de la flèche et le mouvement du godet.

Nous avons préparé le modèle 3D dans Blender, car les fichiers sont relativement pratiques à importer dans le projet Unreal Engine. En raison de la complexité de l'appareil et de son mouvement (plusieurs éléments et cylindres), nous avons décidé d'importer l'animation en créant un système d'ossatures.

Unreal Engine 5 3D model import

En général (mais cela n'est pas obligatoire dans tous les cas), Unreal Engine gère les données avec d'autres logiciels 3D via le format Autodesk Filmbox (*.fbx), quel que soit le logiciel de graphisme 3D utilisé pour créer un maillage squelettique. Après avoir importé un modèle dans Unreal Engine, nous obtenons les composants de base : Skeleton, Skeletal Mesh, Physical Asset et Animation Blueprint.

En travaillant sur le système osseux et le rigging, nous avons rencontré des obstacles techniques nécessitant que l'équipe possède une expertise en logiciels 3D et en échange de données. Unreal Engine (et tous les moteurs de jeu en général) prend en charge le maillage filaire lors de l'importation, mais pas directement les contraintes physiques. Pour rendre les mouvements de l'excavatrice aussi réalistes que possible, nous avons recréé certaines des connexions dans Unreal Engine, dans l'asset Animation Blueprint. Dans l'image ci-dessous, vous pouvez voir le modèle complet avec les assets associés qui ont été créés lors du processus d'importation.

Unreal Engine 5 3D model import
Unreal Engine 5 3D model import

Comme mentionné, Unreal Engine ne prend pas en charge les limitations physiques des logiciels 3D externes lors de l'importation. Nous avons décidé d'utiliser un objet supplémentaire appelé « Socket » pour résoudre ce problème. Les Sockets s'avèrent utiles lors de l'importation d'éléments pour le modèle 3D. Dans notre cas, nous les avons utilisés car, au sein d'Animation Blueprint, ils peuvent facilement définir la relation entre Bone et Socket avec le nœud « Look At ».

Unreal Engine 5 3D model import

Comment les Sockets fonctionnent-ils pour nous ? Si nous avons certains objets et devons les aligner pendant la lecture d'une animation, l'idée de connecter un Bone à un Socket semble être une solution. Le nœud « Look At » vérifie une position cible et y aligne un bone connecté s'il détecte une transformation.

Unreal Engine 5 3D model import

En résumé

Unreal Engine 5 étant une version relativement récente, nous devons aborder certains domaines sous un angle nouveau. DigiTwin, un projet décrit ci-dessus comme exemple de cas d'importation de modèle 3D, est une initiative de R&D de Spyrosoft visant à explorer le tout dernier moteur d'Epic Games. J'espère que le chemin que nous avons déjà tracé vous aidera à développer de nouveaux projets passionnants avec Unreal Engine 5.

Démarrez votre prochain projet sous Unreal Engine avec Spyrosoft

Vous envisagez de lancer votre prochain produit avec la technologie Unreal Engine ? Ne cherchez pas plus loin que Spyrosoft pour un accompagnement complet. Notre équipe est un collectif d'experts qualifiés, forts d'une vaste expérience de travail avec l'ensemble d'outils complexe d'Unreal Engine.

Que vous cherchiez à développer une HMI intuitive et interactive, ou à exploiter toute la puissance des fonctionnalités d'animation 3D dynamique d'Unreal Engine, nous sommes prêts à vous accompagner tout au long du processus. En savoir plus sur le périmètre de nos services HMI ici.

FAQ : Unreal Engine 5

Unreal Engine est une suite d'outils puissante développée par Epic Games pour créer des expériences interactives, principalement dans l'industrie du jeu vidéo. Elle est également utilisée dans les simulations, la visualisation architecturale et les interfaces homme-machine.

Un squelette est une structure d'articulation composée d'os qui définit comment les différentes parties d'un modèle 3D se déplacent. Chaque os correspond à un segment de maillage et permet un mouvement réaliste grâce à l'animation.

Un maillage squelettique combine le modèle 3D (maillage) avec sa structure osseuse interne (squelette), essentiel pour implémenter l'animation squelettique 3D des personnages. Il est utilisé pour animer des modèles dans Unreal Engine grâce au mouvement des os.

Unreal Engine utilise le format de fichier .FBX pour importer des modèles créés dans un logiciel externe. Une fois importés, des éléments tels que le Skeleton, le Skeletal Mesh, le Physical Asset et l'Animation Blueprint sont générés pour l'animation.

Bien qu'Unreal Engine prenne en charge les maillages squelettiques, il ne conserve pas les contraintes physiques du logiciel de conception 3D d'origine. Ces contraintes doivent être recréées manuellement à l'aide d'outils tels que les Animation Blueprints et les Sockets.

DigiTwin est un projet de R&D de Spyrosoft qui consiste à créer un jumeau numérique d'une excavatrice physique. Le projet démontre comment importer, rigger et animer un modèle 3D complexe à l'aide d'Unreal Engine 5.