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.
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).
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.):
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 !
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
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.
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.
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.
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 !
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
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.
La nouvelle fonction Blueprint Draw Material to Render Target pour les entrées de matériaux avec l’entrée Emissive Color.
Pour un travail plus avancé, il faut utiliser Begin Draw Canvas to Render Target et End Draw Canvas to Render Target comme ci-dessous:
- 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:
Cet exemple utilise un bruit Voronoi avec une technique appelée «cartographie gradient» pour obtenir un look de marbre.
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
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 !
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.
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
Nouveau: Mesh Decals
Permet de coller des matériaux sur les maillages statiques, et donc de superposer différents matériaux.
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.
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.
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.
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.
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.
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.
- 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.
-
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.
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.
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.
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.
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.
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.
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é.
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.
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».
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.
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).
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)
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.
0 commentaires