Les nouveautés de la version 4.24 d'Unreal Engine

Ca y est, la version 4.24 “définitive” est disponible depuis hier. Encore une fois, Epic Games nous a réservé un grand nombre de nouvelles fonctionnalités (avec pas mal de bêta, plus que d’habitude j’ai l’impression) et d’améliorations. Impossible de tout vous lister ici, mais je vais vous parler de celles qui ont retenu mon attention, soit parce que ce sont des nouveautés importantes, soit par ce que j’attendais cela avec impatience ou bien parce que cela a un impact sur mes activités pros.

Mais si on ne devait en retenir que 5 “grand public” (ça me crève le cœur) : Quixel Megascan/Mixer/Bridge rachetée par Epic (nous en avons parlé précédemment), Unreal Studio qui fusionne avec la version standard (donc restera gratuite) et son workflow amélioré (notamment au niveau de Datasmith), le landscape tool qui a fait un bond de géant (modélisation non destructive, avec un avant-gout de procédural), une refonte du système de Pixel Streaming, et …. Un outil de simulation réaliste des cheveux et du pelage ?

Non…. C’est trop dur, j’y arrive pas, les autres aussi sont super…. Faut vraiment que vous lisiez jusqu’au bout !

Quixel Megascan/Mixer/Bridge

Bon, je ne vais pas vous refaire un article dessus (voir ici), mais c’est quand même top de disposer d’un accès gratuit et illimité à près de 10K de matériaux et d’assets de la librairie Megascan. En plus, Mixer permet de travailler des assemblages de matériaux avec des effets d’eau, d’ajout de decals, etc.  de façon simple et visuelle, et Bridge permet d’exporter directement le tout dans votre projet Unreal (au travers d’une connexion live), ainsi que dans votre outil de modélisation (Blender est supporté). C’est donc une excellente nouvelle. Je regrette juste l’abandon de Quixel Suite avec DDO et NDO, qui permettaient de peindre directement sur les objets 3D. Mixer ne le fait pas encore et cette acquisition ne nous donne aucune roadmap sur ce qui va être développé par la suite. J’ai même l’impression que l’équipe a été en partie dispatchée sur d’autres projets. Bref, ceux qui veulent un workflow complet pour travailler avec du PBR vont devoir rester avec Substance (Painter/Designer/Alchemist) – notons que l’abonnement Indie est de 19$/mois.

Unreal Studio / Datasmith

Unreal Studio n’est plus, Vive Unreal… Editor ?“. C’est une excellente nouvelle car je n’aimais pas trop l’idée d’avoir deux versions différentes de l’éditeur. La fusion des deux va permettre à tout un chacun de profiter des fonctionnalités de Studio, mais maintenant, on sait également qu’il n’y aura pas de frais supplémentaire puisque l’outil devient gratuit (enfin, disons que cela partage la même licence que le reste, avec une redevance de 5 % dans certains cas).

Pour rappel, Datasmith est le moyen le plus simple d’intégrer des scènes pré-assemblées entières dans votre projet Unreal à partir d’une grande variété d’applications de conception tierces, telles que 3ds Max, Cinema 4D, Revit et SketchUp Pro pour n’en nommer que quelques-unes. Il préserve les hiérarchies d’objets, les matériaux et textures de surface, les propriétés de la lumière et de la caméra, offre un flux de travail de réimportation itératif, etc.

Le Studio vous propose un Workflow complet non-destructif pour importer vos assets vers UE4. Vous allez me dire : ben la fonction export ! Oui, évidemment, mais ce n’est pas de cela qu’il s’agit. Je vous parle d’utiliser des modèles de l’industrie en haute-résolution, mais pour une autre utilisation. L’exemple le plus parlant, c’est le modèle de voiture qui va servir à la chaine de production, qu’on exporte dans un modèle adapté au temps-réel, vers UE4. Jusqu’à maintenant, on passait cela à la moulinette, en décimant le nombre de faces et en faisant un tas d’autres opérations… Et à la fin, on obtenait un nouveau modèle “plus léger”. Oui mais, si on change le modèle d’origine, il faut tout recommencer ! Pas avec Unreal Studio (j’emploie l’ancienne appellation pour ne pas vous perdre). On utilise un script (python par exemple) pour réaliser un tas d’opérations sous la forme d’un batch. Et à chaque réimport, on peut utiliser ce batch.

Visual Data Prep: Avec la 4.24, les Blueprints s’invitent dans la partie – C’est visuellement qu’on peut programmer cette séquence, se passant ainsi du python et permettant à plus d’utilisateur de pouvoir profiter de cet outil.

Landscape Tool et atmosphere

Une évolution majeure du landscape tool avec une gestion par calque (layer) du sculpt non destructive, des brushes de type Blueprint utilisable avec des splines, brushes que l’on peut justement instancier (ce sont des actors) et modifier à loisir, faisant ainsi des opérations booléennes et un tas d’autres choses.

Regardez cela directement en vidéo:

Imaginez que vous souhaitiez creuser votre terrain… vous pourrez le faire en mode jeu désormais, sans passer par un système de voxels ou un quelconque mécanisme de découpe de meshes… tout est désormais accessible via l’éditeur et les outils de développement. On sent bien la volonté de fournir des outils supplémentaires pour faire du procédural.

Pour aller dans ce sens, voici un nouvel outil pour créer des atmosphères réalistes: le Physically Based Sky Atmosphere Component. Ce dernier est paramétré par défaut pour représenter fidèlement le mouvement du soleil et l’atmosphère terrestre, mais peut également être adapté à un tout autre environnement, comme une autre planète.

Comme vous l’avez vu en fin de vidéo, c’est même l’atmosphere vue de l’espace qu’on peut émuler ! De quoi se refaire un no man sky maison sur fond de Captain Blood.

Notons également l’apparition d’un plugin “Landmass” sur lequel on possède très peu d’informations. Il semblerait que le plugin fournisse des exemples d’utilisation, pour positionner des références photographiques qui vont aider à la modélisation du terrain.  J’ai voulu en savoir un peu plus, alors j’ai jeté un oeil au content du plugin et on trouve en effet quelques maps, plusieurs brushes blueprints et des matériaux. J’ai ouvert une map qui contenait un BP pour, semble t-il, générer un paysage… mais c’était incroyablement complexe, très fouillé…. une bonne centaine d’options et d’actions possibles. Bref, je n’en ferai pas le tour aujourd’hui, mais j’aimerais bien en apprendre un peu plus. Pas certain que j’ai compris à quoi sert réellement ce plugin.

Pour plus d’infos, je vous renvoie à la présentation “Unreal Engine Open World Preview and Landscape Tools” (1H) réalisée lors des Unreal Dev Days 2019, mais surtout à ce live “Feature Highlights and Landscape Tools” (1H50) dédié à la 4.24.  Je n’ai pas encore eu le temps de voir ces vidéos, cela peut expliquer certaines lacunes dans mon explication précédente. Mais je corrigerai l’article quand cela sera fait.

Éditeur

Une nouvelle organisation des templates

Une image vaut mieux qu’un long discours :Organisation plus adaptée pour ceux qui utilisent UE4, non pas pour le jeu, mais pour d’autres types de projets: architecture, industrie…

Optimisations quand grand nombre d’actors: Amélioration des performances lors du traitement de scènes et d’ensembles de données volumineux (performances/mémoire), notamment lors de l’importation, de la sélection/désélection, du basculement de la visibilité, de la suppression d’acteurs et de la génération de dispositions UV.

Extended Editor UI Layouts permet de gérer différent type de layouts (agencement des fenêtres) sous UE4 et se doter d’un environnement fenêtré adapté au level design, au montage sous le séquenceur, etc.

Le Mesh Editor : nous en avons déjà parlé dans cet article, c’est le nouveau “modeleur interne” d’UE4. Non, avant, on pouvait utiliser les BSP pour modéliser des batiments, des surfaces… mais cela restait basique. Là, on nous donne un moyen de modifier les Meshes existants ! Et même de faire du Sculpting, ce qui parait incroyable avec le recul d’avoir un moteur de jeu qui offre en interne ce type d’outil. Il me semble qu’à l’origine, c’était pour Unreal Studio.

Le dépliage UV a également été grandement amélioré: Lorsqu’on a un asset avec un mauvais dépliage, ou des UV de lightmaps mal faits, ou encore, quand on génère procéduralement un objet, il est bon de pouvoir réaliser un dépliage UV correct. Le système est dispo sous les Mesh Editor, mais pas seulement – on dispose des fonctions blueprints associées pour réaliser tout ça en dynamique (quand je vous dit que ça sent fort le procédural).  Regardez sur cette photo le type de projection et les paramètres (cliquez dessus pour agrandir):

Sequencer

Sequencer a reçu un très grand nombre d’ajouts et d’améliorations, il m’est impossible de tous les traiter ici.

Voici par exemple le nouveau système d’édition des courbes – vraiment très pratique :


Concernant les Event Tracks (appeler des events depuis une clé d’animation sur une track), le workflow est simplifié, on peut paramétrer directement les variables d’entrée de l’event (payload) de façon visuelle et intuitive.
On peut desormais créer des templates de Séquences. 

Pour ceux qui utilisent encore Matinee, j’ai une mauvaise nouvelle. Je vous préviens de cela depuis plus de 3 ans… dans la 4.24, Matinee est encore présent, mais vous ne le trouverez pas dans le menu habituel. Et pour cause, il sera définitivement supprimé dans la 4.25, à moins de bloquer les ronds points et de mettre un gilet jaune… non, même en faisant cela, dite Adieu à ce reliquat d’UE3 qui a rendu service en son temps… mais Sequencer est incroyablement plus sophistiqué !

Réalité augmentée

Google ARCore reste en 1.7. Mais quelle trahison !!! Non, franchement, là je suis fâché. Non, mais quand je vois ce qu’on peut faire avec la Google Depth API (vidéo), ça me troue le cul ! (oui, une seconde fois).  C’est quoi cette préférence pour Apple ?! La version 1.7 date de Mars… 9 mois c’est une éternité en informatique. On est en version 1.13 depuis fin octobre ! Je veux bien gérer les surfaces verticales et horizontales… Mais quid des occlusions d’objet ? Quid des possibilités de faire du livemotion capture à partir du mobile ? Quid de l’animation faciale avec la caméra ?

Non, vraiment, je suis très déçu sur ce point. Surtout que la 4.24 a intégré Apple ARKIT 3, le tout dernier, qui permet bien évidemment de faire tout ça ! Moi qui avait investi dans un Samsung S8 à l’époque pour faire de l’AR, je reste assez déçu.

En tous cas, on peut télécharger un projet complet : Mission Apollo 11 pour Hololens 2. Même si on n’a pas le casque, on peut déjà étudier le source du projet.

Explorer et modifier cet exemple vous aidera à apprendre à créer des séquences narratives immersives et des événements déclenchés, mettre en œuvre la saisie tactile et l’interactivité et utiliser l’Holographic Remoting pour afficher le contenu diffusé à partir d’un PC via Wi-Fi (bon pas en pratique, mais vous verrez un peu comment ça fonctionne).

Pour télécharger à partir du marketplace (c’est gratuit), c’est ici. L’annonce contenant plus d’informations est ici.

Pixel Streaming

Plus facile à configurer, plus flexible, plus performant (notamment quand faible bande passante et mobiles).

Et surtout moins bogué (corrections d’encodage de flux). Fonctionne avec DirectX12.

Plus besoin d’application externe de WebRTC !!! (si ça ne vous parle pas, ça fera plaisir à ceux qui l’utilisaient, avec moins de pannes), qui, au passage, utilise la v70 de WebRTC.

Via Blueprint ou C ++ on peut figer le flux multimédia sur une seule image (pause par exemple si aucun utilisateur actif).

Ajout d’un système AFK côté client qui permet de détecter les connexions inactives et de les déconnecter ! OnAllConnectionsClosed ajouté (lorsque tous les clients Pixel Streaming se sont déconnecter).

Prise en charge limitée du codage matériel à l’aide de GPU AMD pris en charge par le SDK AMF (Advanced Media Framework). Et correction d’un problème de connexion vidéo sur Firefox 68+

Divers, en Vrac

Chaos Destruction Engine :  Vous savez, c’est le prochain moteur de physique qui viendra remplacer PhysX de Nvidia… Pour l’instant, c’est surtout pour faire de la destruction de meshes ! Il était disponible en 4.23, mais avec une version du moteur à recompiler soi-même… Ben c’est toujours le cas en 4.24 désolé… Mais ils ont amélioré la toolbar et d’autres éléments. À suivre, peut-être en natif sur la 4.25. Pour les plus pressés (comme moi), faudra recompiler. C’est un peu long, mais on y arrive et l’exemple de projet fourni est vachement bien fait.

Les Screen Space Global Illumination (SSGI): Les SS, non pas les nazis, les fonctionnalités simulées en temps réel comme les Screen Space Reflection pour simuler les réflexion… sont des fonctionnalités qui coutent en général peu de ressources et offrent une amélioration visuelle “proche” de l’effet voulu. Ici, c’est pour avoir une sorte d’Illumination Globale Dynamique Simulée. Et le résultat est pas mal, je vous laisse en juger:
Avec:
Sans:
On peut gérer jusqu’à 4 niveaux de qualité pour les SSGI.

Blueprints: Sparse Class Data permet de transformer les variables qui sont inchangées par des constantes.

RoboMerge (beta): pour automatiser la fusion des branches dans le gestionnaire de sources (perforce, et peut-être aussi les autres?) et pouvoir faire du batch.
BuildAgent (beta): Pour automatiser le batch de build sur plusieurs plateformes, cleaner, cache, etc.

AutoSDK (Beta) fournit un mécanisme pour distribuer les SDK sur les plate-formes cibles et les configurer pour une utilisation à la demande.

Collab Viewer Template : pour améliorer la communication en VR avec plusieurs actions prédéfinies, comme dessiner librement dans l’espace, mesurer une distance, sauvegarder l’état d’une session, ou prendre une série de clichés.

Nouveau Blend d’animation squeletée: l’INERTIAL BLENDING. En tenant compte de la vitesse et de l’inertie des bones, on obtient un blend plus réaliste. Voici une petite vidéo qui montre l’effet:

Twin Motion : Vous savez, c’est cet outil basé sur Unreal Engine qui permet de réaliser des scènes complètes avec de nombreuses interactions, et faire, par exemple, une visite virtuelle d’un musée ou d’une habitation. L’idée derrière ce produit, c’est de simplifier la démarche en ajoutant une couche application supplémentaire. C’est une sorte d’Unreal Engine pour les nuls… sans le coté péjoratif, avec plein d’outils clés-en-main qu’on n’a pas besoin de reprogrammer. Il reste gratuit jusqu’à la prochaine version qui devrait voir le jour au premier trimestre 2020. Après, oui, ce sera payant. Mais on pourra continuer à utiliser la version actuelle si on le souhaite.

USD (Universal Scene Description): projet Open Source lancé par Pixar à l’origine,  c’est une technologie destinée à faciliter l’échange de données 3D entre les applications de création de contenus numériques.  Concrètement, USD est un ensemble d’outils pour lire, écrire, éditer et prévisualiser rapidement les données d’une scène 3D. Le système est pensé pour un pipeline moderne de studio, toujours plus exigeant en termes de performances et de collaboration à grande échelle entre de nombreux artistes. un système “Live” permet d’utiliser les USD data en temps-réel. Il est encore ne Beta, mais Epic avance sur la question.

Simulation temps-réel des cheveux et du pelage: On l’avait déjà vu avec l’outil Cloth, et plus récemment avec la naissance du nouvel engine physique interne, le chaos Engine… Epic semble décidé à se passer totalement de Nvidia et de son GameWorks, qui n’aura jamais été complètement intégré au moteur. Il manquait aujourd’hui principalement le simulateur de cheveux/poils (HairWorks, arrêtée en 4.16) et celui des fluides. Avec ce nouvel outil, on règle déjà un problème, même si l’implémentation reste minimaliste (c’est mieux que rien). Chaque brin de cheveux ou de poil est simulé individuellement (via niagara?), donnant ainsi un effet assez réaliste. Il ne s’agit donc pas d’un simple shader. Cela reste expérimental. La doc est ici.

3D Text: un nouvel asset pour afficher du texte en 3D à l’aide de polices truetype ou OpenFont. On peut jouer sur l’extrusion et donner une épaisseur et utiliser des materials différents en fonction de la face du texte.

Et je vous en ai gardé un super pour la fin:

Les Material Layers (beta): C’est la possibilité d’utiliser plusieurs calques de materials sur un objet, et de gérer le blend de ces materiaux via un masque (texture RVB). Mine de rien, c’est vraiment une fonctionnalité Top car avant cela, il fallait tout se taper à la mimine dans le shader ! Regardez la puissance du système:


De quoi personaliser facilement vêtements, voitures, armures, etc. On aurait pu appeler cela, le material Multi-couches paramétrable !
En Vrac, mais non le moindre:

  • améliorations au niveau de NDisplay,
  • du Raytracing,
  • du Virtual Texturing (nouveaux matériaux, plus de vitesse, moins de ressources)
  • du Variant Manager (voir vidéo)
  • L‘auto-instancing dispo pour les mobiles
  • Les SteamSockets supportées
  • Support d’OpenXR !

Conclusion

Bon, ça fait déjà beaucoup à retenir non ? Je vous conseille toutefois d’aller survoler la liste complète disponible sur le post d’origine. Après, piochez en fonction de vos besoins. Il suffit de se rappeler que telle fonction existe désormais, et vous n’aurez plus qu’à chercher un peu, et expérimenter, quand vous en aurez besoin. En attendant, je vous dit… “Vivement la 4.25 en preview !” Non, je déconne, mais si vous n’avez pas encore les 5 tomes de cette fabuleuse collection des cahiers d’Unreal Engine, c’est le moment de vous faire plaisir pour Noël ! @ bientôt !

Ces articles pourraient aussi vous intéresser …