Qu'apporte la mise à jour 4.13 de Unreal Engine?

On ne présente plus Unreal Engine 4 qui reste à mon sens le meilleur moteur de jeux 3D, et notamment lorsqu’il s’agit de développer des applis de réalité virtuelle.

La version 4.13 disponible depuis septembre 2016  ne déroge pas à la règle et apporte des améliorations principalement pour la communauté de développeurs VR. Faisons le tour des principales nouveautés.

Éditeur de cinématiques: Sequencer

Le Séquenceur, l’éditeur de cinématographique non linéaire, a été mis à jour pour la cinématographie haut de gamme.

L’enregistrement d’une partie de jeu en direct a été améliorée, il ne s’agit plus d’une simple vidéo car sons et effets sont enregistrés de façon séparée et peuvent être modifiés. Pour en voir plus, c’est ici.

413image_1

Il est possible de créer des groupes de caméra, de suivre un personnage si la caméra est mise en enregistrement automatique.

Sequencer peut maintenant importer et exporter des fichiers au format EDL (CMX).

413 image_35

La photo montre une séquence qui a été exportée vers Adobe Premiere Pro. Toute modification de séquençage faite sous Premiere peut ensuite être réimportée dans le Séquenceur de UE4 ! Super non ?

Sequencer burn-ins

Lors du rendu, vous pouvez maintenant configurer un “burn-ins” pour les images exportées pour l’identification et le suivi des plans, c’est à dire la possibilité d’ajouter du texte dynamique (comme le n° de frame, la date, etc.):

143 image_37

Unreal VR Editor
Les jeux VR peuvent maintenant utiliser les ombres de type capsule, et l’instanciation stéréo a été optimisée (encore une fois).
Vous pouvez entrer et sortir du mode édition VR en mettant ou retirant le casque – ça c’est un gain de temps appréciable pour le développeur !
413 image_33
Il est possible de jouer immédiatement en activant “Enable VR Editing” dans la section des Préférences Editeur. Appuyez sur le bouton “Play” du menu rapide pour commencer à jouer en VR! Pour revenir à l’éditeur de VR, maintenez les boutons de poignée sur les deux contrôleurs et presser les deux boutons de déclenchement.
Template de projet VR
418 image_18
413 image_19

Pour y accéder, choisir la nouvelle option VR dans la fenêtre Nouveau projet.

Ce projet de plan directeur a des paramètres qui sont optimisés pour fonctionner en VR jusqu’à 90 images par seconde. Deux modes de locomotion, répartis en deux Blueprints Pawn distincts: le premier pour gamepads, le second prend en charge les contrôleurs de mouvement. Lors de l’utilisation des contrôleurs de mouvement, vous pouvez vous téléporter à différents endroits et saisir et jeter des objets.

Peindre directement en VR
Vous pouvez maintenant peindre sur des textures ou maillage des sommets en utilisant l’éditeur de VR.
413 image_26

Cela permet d’utiliser des contrôleurs de mouvement pour peindre en étant immergé dans VR. Pour utiliser cette fonction, ouvrez la fenêtre “Modes” en VR, puis cliquez sur l’onglet “Mesh Paint”. Maintenant, sélectionnez un objet dans le monde, puis visez et peignez! La sensibilité à la pression sur la gâchette du contrôleur est prise en charge et vous pouvez utiliser le bouton «Modifier» pour effacer.

Bon, j’avoue que ça me parait gadget, mais cela va dans le sens de la création d’un niveau en mode VR – donc au final, c’est top de pouvoir avoir cette possibilité.

La mise en place d’arbres en automatique en VR
Vous pouvez utiliser les contrôleurs de mouvement pour mettre en place les arbres dans la VR.
413 image_27

Sélectionnez un type d’arbres, visez et appuyez sur la gâchette pour les installer dans le monde, avec le bouton de modification, vous pouvez effacer les arbres. Comme pour la peinture, la sensibilité à la pression est prise en charge. En outre, l’éditeur Foliage a été amélioré.

Color picker en VR

La fenêtre Color Picker est maintenant disponible en VR, de sorte que vous pouvez modifier les propriétés de couleur sur les lumières et les autres assets du niveau.

413 image_28
Coté VR, un petit gadget rigolo: le VR EDITOR FLASHLIGHT – ben oui, en mode éditeur, si c’est trop sombre et que vous auriez bien besoin d’une torche… elle existe maintenant !
image_31
Notez aussi la possibilité de faire des screenshot en mode VR !
 
Rendu

De nouvelles fonctionnalités de rendu ont été ajoutées:

  • Écrire directement en Blueprint (donc sans programmation C++) ses propres matériaux et effets

413image_6

Exemple d’utilisation: Simulation de surface de fluide créée entièrement grâce aux Blueprints et matériaux. Les personnages et les projectiles influent sur le fluide.

413image_7

La nouvelle fonction Blueprint Draw Material to Render Target pour les entrées de matériaux avec l’entrée Emissive Color.

413image_8

Pour un travail plus avancé, il faut utiliser Begin Draw Canvas to Render Target et End Draw Canvas to Render Target comme ci-dessous:

413image_10

  • La possibilité d’utiliser le GPU (>=Shader Model 5) pour calculer le morphing de meshes
  • l’amélioration de la réfraction de haute qualité,
  • les fonctions optimisées de bruit permettent de générer des matériaux de manière aléatoire, y compris le bruit de Voronoï pour la génération procédurale et le marbre ou du sable:

413image_3
413image_4

Cet exemple utilise un bruit Voronoi avec une technique appelée «cartographie gradient» pour obtenir un look de marbre.

texte alt image

De gauche à droite:
1) La norme Voronoi Noise, 1 octave
2) Voronoi avec bruit “dégradé” ajouté à la position d’entrée à 0,05
3) le bruit Gradient multiplié par 0,3 avant d’ajouter à la position d’entrée Voronoi
4) En utilisant l’étape 3 comme coordonnées de texture pour un pavage texture aléatoire

Le bruit Voronoi comporte quatre niveaux de qualité, avec la diminution des artefacts mais avec une augmentation significative du temps d’ombrage.

  • la mise en cache de la carte des Ombres “SHADOW MAP CACHING” permet de mettre plus de lumières dynamiques, les calculs de lumière peuvent être réutilisés d’une image à l’autre, permettant d’améliorer les performances

413 image_2

L’image ci-dessus montre 33 points dynamiques d’ombre avec des calculs minimes.

Par défaut, la mise en cache ne peut se produire lorsque:

  • Primitives sont réglées en mobilité statique ou stationnaire
  • Les matériaux utilisés n’utilisent pas  la Position Offset du monde
  • La lumière est un point ou une tache

Les matériaux qui utilisent une Tessellation d’animation ou une profondeur de Pixel Offset peuvent provoquer des artefacts.

Amélioration du landscape tesselation pour un LOD plus rapide et donc la possibilité de gérer des paysages encore plus grands !

image_40

Dans le même ordre d’idée, les composants de type scene captures ont été améliorés (comme le support des projections orthographiques).

Shader model 5: rendu pour mac

Toutes les fonctionnalités de Unreal Engine 4 sont maintenant disponibles de Metal sur Mac OS X.

Nouveau: Mesh preview scenes

Pour prévisualiser les meshes statiques et squelettiques.

413 image_12

Un nouveau panneau Preview Scene Settings permet de configurer plusieurs profils (scènes) pour prévisualiser vos meshes, et les profils permettent de changer:

  • Lumière directionnelle (couleur, intensité, rotation)
  • lumière Sky (HDRI environnement map, intensité, rotation)
  • paramètres de traitement

413 image_13

Nouveau: Mesh Decals 
Permet de coller des matériaux sur les maillages statiques, et donc de superposer différents matériaux.
413 image_14
Les piliers ci-dessus sont créés en maillage de base superposée avec un maillage unique détaillé. Le pilier gauche utilise un decal de maillage pour permettre les mélanges de couleur, normals et rugosité. Le plus à droite pilier est un matériau masqué, juste pour la comparaison.
413 image_15413 image_16
Nouveau: Procedural Mesh slicing (TOP)

Nouvel utilitaire dans le Procedural Mesh Component pour “trancher”. qui supporte les simples collisions, et la simulation physique. Un utilitaire permet de copier des données à partir d’un maillage statique à un maillage procédural. Alors là, je trouve cela vraiment super: non seulement, on va pouvoir très simplement apporter plus de réalisme aux scènes en utilisant le moteur de physique, mais en plus, cela laisse envisager une utilisation pour creuser des terrains par exemple, sans passer par les Voxels.

413 image_25

Animations Vertex : l’importateur Alambic (expérimental)

Alambic permet d’importer des animations vertex complexes. La composante d’animation physique permet aux personnages de réagir de manière réaliste aux forces physiques en réalisant l’ animation squelettique par le biais des moteurs.

413 image_11

L’importation peut être faite de différentes façons:

  • Mesh statique: Une seule image de l’animation Alembic est importée

  • Geometry Cache: L’animation Alembic sera lue comme un flipbook.

  • Mesh Skeletal  Lors de l’ importation, la séquence d’animation est compressée en utilisant un schéma PCA

Edit au 15/10/2016: Jean Meli nous a réalisé un petit tuto en français pour exporter une animation Physique de Blender vers UE4 en utilisant Alembic:

 Nouveau : physical component animations

Permet de faire facilement l’animation du maillage du squelette par des moteurs physiques.

413 image_23

Le composant permet de définir l’utilisation de profils d’animation physique pré-configurés qui peuvent être créés et modifiés à l’ intérieur de PhAT. La nouvelle fonctionnalité “Physical Animation Profiles” fournit un moyen de personnaliser la physique dans différents contextes, ainsi que le peaufiner les animations spéciales. Bon, difficile de vous décrire plus cela, il faudra qu’on se trouve une vidéo qui parle de ça…

Nouveau: widget interaction component

Pour simuler des événements venant du matériel avec des composants de widget dans la scène.

413 image_17

Vous pouvez joindre comme pointeur laser toute manette, souris ou autre matériel afin d”interagir avec les widgets.

Je peux vous confirmer que c’était bien une fonctionnalité manquante jusqu’à présent ! Dans l’un de mes derniers projets de VR on devait pouvoir interagir avec des menus réalisés en widget 3D. Il fallait émuler des clics de souris et utiliser une bidouille pour y arriver. C’était chiant et pas top, mais on y arrivait. Maintenant, ce sera beaucoup plus simple. Avant ça, on ne pouvait pas vraiment utiliser les widgets 3D en VR sans bidouiller…

Mobiles

Pour les développeurs mobiles, les ombres dynamiques ont été optimisées, les matériaux HD sont pris en charge, et le post-traitement personnalisé est maintenant possible. OpenGL ES 3.1 peut maintenant être utilisé sur Android.

Custom Post-Process materials

Les matériaux personnalisés Post-process peuvent désormais être utilisés sur les appareils mobiles.

413 image_20

  • Cette fonction nécessite que l’option  « HDR mobile ” soit activée dans les paramètres du projet et nécessite des appareils récents
  • Prend en charge la récupération de PostProcessInput0 (Scène de couleur)

    Nouveau: Lighting channels sur Mobiles

Les canaux d’éclairage fonctionnent maintenant dans le renderer mobile! Ceux-ci vous permettent d’éclairer de manière sélective des objets.

413 image_21

  • lumières directionnelles multiples prises en charge dans différents canaux.

  • Chaque primitive peut être affectée par une seule lumière directionnelle. Le premier canal d’éclairage situé sur une primitive détermine quelle lumière directionnelle aura une incidence sur elle.
  • les shadow maps en cascade (CSM) de lumières directionnelles fixes ou mobiles exprimés uniquement sur des primitives avec des canaux correspondant d’éclairage.
  • Les dynamic point lights soutiennent pleinement les canaux d’éclairage.

Test automation for android

Le lanceur de projet peut packager et lancer votre projet sur plusieurs appareils Android simultanément. L’application en cours d’exécution sur chaque appareil communiquera au PC hôte via le câble USB et apparaîtra dans la fenêtre Session Frontend.

413image_64

Vous pouvez alors lancer des tests automatisés sur tous les appareils et voir les résultats de la session Frontend.

Assistant packaging pour mobiles

Un Assistant packaging pour mobile a été ajouté pour aider au téléchargement sur un App Store et le reste du contenu est téléchargé à partir du Cloud.

413 image_66

Nouveau : animation pose assets

Un nouveau type d’animation d’assets appelé Pose Asset contient un ensemble de poses d’os nommés, que vous pouvez mélanger.

413 image_41

Permet l’animation faciale FACS (Facial Action Coding System) ou l’utilisation des courbes viseme pour l’adaptation du visage au dialogue. Bref, c’est vraiment une fonctionnalité très intéressante à plus d’un titre !

Pose driver animation node

Un nouveau node permet d’utiliser une courbe sur le mouvement d’un os.

413 image_44

Celui-ci utilise un RBF (Radial Basis Function) pour interpoler les valeurs en fonction de l’orientation d’un os cible.

Animation node pose watching

Le  graphe  des animations peut être suivi dans Persona.

413 image_45

Cela vous permet de voir une représentation de la pose générée à un point quelconque dans le graphique anim dynamiquement. Des moments multiples peuvent être actifs à la fois vous permettant de comparer des poses à différents points et de trouver le point exact où les erreurs dans votre pose actuelle sont introduites. Cela peut être très utile pour le débogage des Blueprints d’animation complexes.

Nouveau: line trace renvoie les coordonnées de texture

Permet de renvoyer à partir d’un line trace, non seulement le point d’impact, mais aussi la coordonnées UV de la texture ! Je vois déjà plein d’applications pratiques, comme de simplifier le fait de pointer sur une mappemonde par exemple.

413 image_50

L’option est sous Paramètres du projet -> Physique -> Optimisations. Lorsque cette option est activée, vous pouvez utiliser la fonction “Find Collision UV” pour obtenir un Hit Result. L’activation de cette fonction fait utiliser de la mémoire supplémentaire, comme une copie de l’information UV doit être stocké dans la mémoire du CPU.

Amélioration de l’édition spline

Il est possible de définir des points de composants Spline dans l’éditeur de Blueprint en utilisant le visualiseur standard. De nouvelles instances du Blueprint seront créées avec les valeurs par défaut, bien que celles-ci peuvent être substituées sur un niveau une fois placé.

413 image_51 (1)

Le “Reset to Default” établit une instance inverse vers le Blueprint par défaut. Toutes les modifications apportées au Blueprint défaut sont propagées à une instance dont les points spline n’ont pas été ultérieurement modifiés.

413 image_52

Sous-animation Blueprint

La logique d’animation peut être partagée à l’aide d’un noeud “Sub Anim instance» au sein de l’animation Blueprint pour une autre animation Blueprint Sub. Cela permet également de séparer les grandes animations Blueprints dans des assets distincts en «locomotion» et «parties de la physique».

413 image_59

Nouveau: animation viewer curve

L’onglet Squelette Curve de Persona a été supprimé et cette fonctionnalité a été déplacée  dans l’onglet Animation Curves. Vous pouvez maintenant renommer et supprimer des courbes, ainsi que la prévisualisation des données de courbe. On homogénéise le tout en quelques sortes.

413 image_60

Vous pouvez voir toutes les courbes qui appartiennent au squelette actuel ou les courbes actuellement actives de prévisualisation asset. Vous pouvez également filtrer par type spécifique de courbe pour ne voir que les courbes actives.

Pour modifier la valeur de la courbe, vous pouvez soit désactiver l’option de case à cocher Auto ou tapez simplement la valeur.

Sprites in UMG Widgets

On peut maintenant utiliser des sprites provenant des brushes paper 2D dans les widgets 3D (UMG).

image_61

Divers

  • Améliorations concernant la localisation des textes (pour les pluriels, le genre, etc.). Bref, des syntaxes de formatage supplémentaires pour une meilleure traduction des textes.
  • Utilisation expérimentale (à activer donc) pour utiliser le multithread dans la gestion des sons (UseAudioThread to true in the [Audio] section of BaseEngine.ini)
  • L’AI, les behavior trees et les EQS ne sont pas en reste avec plusieurs corrections, améliorations et optimisations.

Les SDK des différentes plateformes ont été mises à jour

  • iOs / tvOS: les projets de code sont désormais pris en charge dans la version Windows de UE4 avec l’Unreal Engine Launcher.
  • Xbox One: Mise à jour vers Août 2016 XDK
  • Playstation 4: Mise à jour vers SDK PS4 3.508.201
  • Oculus Rift: Mise à jour du Runtime Oculus 1.6
  • SteamVR: Mise à jour à OpenVR 1.0.2
  • Google VR: Ajout Google VR (carton) support pour iOS
  • OSVR: Mise à jour à v0.6-1194-g0c54f5e
  • Android: Google Play Jeux natif C ++ SDK mis à jour à 2,1
  • Android: les services Google Play mis à jour 9.2.0
  • Android: Prise en charge en cours d’exécution sur Nougat aka Android 7.0
  • API Vulkan: SDK Mise à jour à 1.0.17.0 (pour Android et Windows)

image_39
Pour en savoir plus: https://www.unrealengine.com/blog/unreal-engine-4-13-released

Voilà, c’est encore du lourd avec cette mise à jour ! Quelques soucis de santé m’empêchent aujourd’hui de suivre le rythme des mises à jour et j’ai aussi pris du retard dans la rédaction des cahiers, alors n’hésitez pas à commenter ce post si certaines choses ont été mal présentées, ou si certains points importants sont absents dans cette liste.

 

Ces articles pourraient aussi vous intéresser …