Unreal Engine 4.8 quoi de neuf?

Désolé, j’ai pris quelques jours pour vous pondre cet article, mais je mène une vie de dingue en ce moment… Vivement les vacances… non même pas, j’aime trop ce que je fais mais il me faudrait en faire moins 😉

Trêve de plaisanterie (Chris!), cette version comprend 189 grands changements tous plus ou moins commandités par l’incroyable communauté de développeurs de Unreal Engine. Cela a du bon d’être Open Source, même si la grande majorité doit venir d’Epic quand même. Sinon, ils ont été assez sympa pour citer les principaux de la communauté ayant contribué ! J’ai pas vu mon nom… mais bon, c’est normal, j’ai mis le doigt sur certains problèmes, mais je n’ai pas contribué à les corriger… pas eu le temps 🙁

Amélioration de le stabilité de l’éditeur
Amélioration de l’éditeur et de la stabilité du jeu, ainsi que pour répondre à bon nombre de bugs… Personnellement, je plante plusieurs fois par jour avec la 4.7.6 que j’utilise, mais je n’en plains pas. Je la soumet à rude épreuve aussi… et puis, quelques fois, c’est même de ma faute. Là, ça devrait planter un peu moins 🙂

Nouveau: Support SteamVR / HTC Vive
Unreal Engine a maintenant un support complet pour l’API SteamVR de Valve et le matériel HTC Vive! Bientôt un article sur ces fantastiques jouets.
unreal1

  • Aperçu du jeu instantané sur HTC Vive à l’aide du bouton «Aperçu VR”!
  • Toutes les fonctions de contrôleur de mouvement HTC Vive sont prises en charge et possibilité de lier les boutons de commande / claviers
  • Support complet du casque

Nouveau: Playstation 4 Morpheus VR avec 120Hz Reprojection
Sony Morpheus est désormais pris en charge, avec  un rendu 120 Hz. Purée, j’aimerais bien voir ça, mais j’ai demandé un kit de dev à Sony, et je crois que je peux encore attendre…

unreal2

  • Unreal Engine prend désormais en charge les deux kits de développement Morpheus 60hz et 120Hz
  • La lecture audio 3D en VR a également été grandement améliorée pour cette version.

Nouveau: Rendu de l’herbe pour le paysage
Nouveau système pour l’herbe et autres couvertures de sol avec un rendu dynamique sur le paysage.

unreal3

  • Quand le joueur se déplace à travers le monde, de nouvelles instances sont ajoutées, et les instances qui ne sont plus utilisées sont supprimées (du clipping quoi…)
  • Modifier la densité de l’herbe pour adapter la mise en place de l’herbe pour correspondre à la texturation de terrain
  • Les instances herbe sont générées en tâche de fond selon la carte de densité de l’herbe.
  • L’herbe est efficacement rendue par un système d’instanciation hiérarchique. Les transitions LOD sont effectuées pixel par pixel et assez transparentes .

Chaque type d’herbe est décrit par un nouvel asset Landscape Grass Type, et chaque type d’herbe peut spécifier plusieurs maillages statiques pour permettre la variation.

Une carte de la densité de l’herbe est générée à partir du matériau de la paysage.
Créer des règles de placement plus complexes telles que la suppression automatique de l’herbe sur la base normale de surface ou de l’altitude ou de l’utilisation de plusieurs couches de paysage.

Nouveau: Niveau hiérarchique du Système LOD
Fonctionnalité de LOD hiérarchique qui crée automatiquement des LODs pour des groupes de meshes. Réduit considérablement les besoins en dessins et le nombre de polygones quand ils sont visibles de loin. Idéal pour les jeux en monde ouvert!

unreal4

  • Les groupes de meshes à combiner sont trouvés automatiquement. Si Simplygon est disponible, il sera utilisé pour générer le maillage bas-détail pour un groupe. Sinon, la version LOD de chaque mesh sera combinée.
  • On peut retirer des personnages en désactivant leur option Auto LOD génération.

Nouveau: Générateur procédural de Feuillage  (expérimental) et Refonte de l’éditeur de Feuillage

Alors ça c’est top: Fonctionnalité expérimentale pour générer d’énormes (ou minuscules, ou moyennes) régions de feuillage rapidement.

unreal5

  • Type de Feuillage actif:  propriété pour personnaliser la façon dont ils sont dispersés et leur taille.
  • Différentes types de feuillage pour simuler toute une forêt!

Je n’ai pas encore eu l’occasion de tester, mais cela fera partie du tome 3 des cahiers du développeur Unreal Engine.

Amélioration de la convivialité, possibilité de travailler plus facilement avec un grand nombre de types de feuillage dans la palette à la fois.

unreal8

  • Créer facilement de nouveaux types de feuillage à partir de la vue du feuillage.
  • Les vignettes de feuillage ont des boutons pour modifier la visibilité et la sauvegarde de l’actif, ainsi que le nombre d’instances au total.
  • Activer ou désactiver les types de feuillage multiples à la fois avec la multi-sélection.

 Nouveau:  Replays des jeux en réseau
Enregistrement complet du jeu pour relecture possible ! Je ne sais pas ce que cela va donner, mais rien que l’intitulé, ça en jette – tout ça sans programmation ou presque ?

unreal6
Quand vous avez fini votre partie, lancez le replay et revoyez votre partie.

Bon, ça doit pas être évident quand même. Si on prend juste l’exemple du “Root Motion”, ça ne fonctionne pas automatiquement en réseau, alors j’imagine que là, ça doit pas forcément couler de source. Mais c’est à voir et à tester avant de jaser…

Lors de l’affichage d’une rediffusion:

  • La molette de la souris  contrôle la vitesse de lecture
  • Il y a un bouton à l’écran pour mettre en pause / play
  • Vous pouvez cliquer n’importe où sur la barre de temps pour choisir le moment

Nouveau: Profondeur de haute qualité du terrain et Tone Mapping
unreal7

  • Nouvel algorithme de profondeur de champ appelé “Circle DOF” : cercle bokeh et agréables transitions de focus, on contrôle par les paramètres physiques de l’appareil photo: fstop, longueur focale, distance focale, flou pour simuler la diffusion de la lumière à travers l’atmosphère
  • égal au système de codage couleur Académie (ACES), nouveaux étalonnages des couleurs, balance des blancs, baked en 32x32x32 LUT, 50% plus rapide qu’auparavant.

Nouveau: Dynamic Navigation Mesh pour mondes ouverts
Tout nouveau système pour supporter les NavMeshes dynamiques dans les grands mondes ouverts.

unreal9Le moteur génère désormais dynamiquement le NavMesh à la demande. Il suffit de configurer le système de navigation du projet pour ce mode et d’ajouter Navigation Invoker Component pour les acteurs concernés.

Pour la génération procédurale de mondes en Open World, c’est vraiment une fonctionnalité attendue.

J’en profite pour ajouter que coté navmesh et pathfinding, il y a une sacré liste de mises à jour et de corrections. Si c’est un point qui vous intéresse particulièrement, allez voir la rubrique “navigation” de cette page.

Nouveau: Nouvel Exemple de personnage Unreal
Nouvelle version, haute résolution et basse (pour les mobiles) du personnage exemple Unreal (oui le bonhomme bleu pour les intimes qui maitrisent pas le retargetting…. ) inclus avec les modèles.

Nouveau: Curve Editing pour l’interface utilisateur Unreal Motion Graphics
UMG a maintenant un éditeur de courbes. UMG, c’est le machin pour faire les interfaces, les menus, les boites à cocher, voir tout ce qui est overlay. Ben maintenant, ça supporte l’animation des widgets !

unreal10

  • sélectionner les pistes de valeurs numériques dans une animation widget
  • animer grâce à l’ éditeur de courbe.
  • jouer, rembobiner et boucler l’animation lors de la prévisualisation avec les boutons de contrôle de transport.

 Nouveau:  Réflexions pour  Surfaces translucides
Les surfaces translucides peuvent tenir compte dynamiquement des autres objets sur l’écran en activant les matériaux translucides avec l’option ‘Screen space reflections’.

unreal11Pas besoin de shader maison, c’est supporté en standard désormais.

Nouveau: commutation de fenêtre rapide (Ctrl + Tab)
Vous pouvez maintenant appeler un menu pop-up pour basculer rapidement entre les différents éditeurs actifs et les onglets de l’outil en appuyant sur Ctrl + Tab.

 unreal12Ctrl + Tab ou Maj + Ctrl + Tab pour cycler d’un asset à l’autre, triés par heure de dernière activation; relâcher Ctrl active l’asset choisi

C’est bizarre, j’avais l’impression d’utiliser déjà cette fonctionnalité… mais non, je viens de tester sur la 4.7… y-avait pas. Oui, c’est à cause de cet article précédent...

Nouveau: Modifier les propriétés sur les instances de Actor Blueprints
Les propriétés des composants ajoutés dans la section des composants du Blueprint peuvent être modifiés.

Nouveau: Asset size Mapper
Pour savoir combien de mémoire un asset prend: “Size Mapper”. Permet de voir la mémoire utilisée par un asset avec tout ce qui dépend de lui sous forme d’arbre interactif. Je vous en avais déjà parlé, mais je crois qu’il n’y avait pas cette notion de taille prise en mémoire il me semble. Bon, là c’est fait !

image_14

Partage d’éditeur de mise en page et keybinds
Partagés entre tous les projets, les préférences peuvent être utilisées partout.

Nouveau: Wires interactifs dans le Graph editor
Interaction directe avec les liaisons de nodes dans l’éditeur graphique.

unreal14

Nouveau: Procedural Mesh Component (expérimentale)
Pour créer des maillages à l’exécution à l’aide de C ++ ou des Blueprints.

unreal15Multiples sections (matériaux), soutien de collision, possibilité de spécifier normale, tangente, UV et couleur par vertex.
Bibliothèque d’utilitaires et une fonction pour générer les normales lisses et tangentes avec les positions maillage de vertex et UV. j’en parle un peu plus dans cet article. Reste à voir quels modèles on peut utiliser à la base maintenant que l’outil est en phase XP.

Nouveau: Amélioration automatique Convex Collision Meshes
Avec le Static Mesh Editor pour générer automatiquement un maillage de collision pour le modèle, le maillage généré sera de bien meilleure qualité et terminé plus rapidement!

 unreal16
Nouveau: Configurable Animation Notify Triggers
Nouveaux paramètres sur tous les notificateurs :
unreal17

  • Notify Trigger Chance : nombre compris entre 0,0 et 1,0 pour indiquer le % de déclenchements (0.0 = Jamais, 1.0 = Toujours)

Oui, pourquoi pas : pour l’émission de particules par exemple, pas besoin de passer par un BP avec un random.

  •   Notify Filter Type– Pour filtrer quand il faut notifier, 2 choix:

    • Pas de filtrage – notifications toujours actives (en supposant qu’il passe le paramètre Trigger Chance)
    • LOD – déclenchement si le maillage propriétaire est en dessous de la limite de détection.

Nouveau: On-Demand Asset Cooking
Nouveau paramètre de projet qui permet de démarrer très rapidement.

Nouveau: Support de Contenu téléchargeable (DLC)
Pour créer des fichiers Pak qui peuvent être distribués aux utilisateurs plus tard…

Nouveau: Support de contenu pour les patchs
Pour générer des fichiers de correctifs avec seulement le contenu des fichiers  changés depuis une version précédente! (un Diff quoi!)

Nouveau: Localization Dashboard
Le tableau de bord localisation est maintenant utilisable comme une fonctionnalité expérimentale. Il permet le changement de langage et bien d’autres encore. J’ai pas trop testé encore tout ce qui touche au multi-lingue… va falloir que je m’y colle prochainement.

image_20

Paper2D: peindre directement sur des textures Sprite
Les composants Sprite peuvent être sélectionnés et peints en mode  Mesh Paint

image_21La texture source ou des textures supplémentaires peuvent être sélectionnés et peintes
Remarque: la peinture de vertex ne fonctionne pas actuellement avec des composants sprite.

Paper2D: Tile Maps plus accessibles

unreal19

  • Programmation avec Tile Map Components de Blueprints entièrement pris en charge
  • Tile map color peut maintenant être contrôlé à la fois par-couche et à travers la carte de tuiles entière
  • Staggered Isometric et Staggered Hexagonal projections pris en charge, et les grid/cursor previews sont améliorés dans tous les modes
  • Ajout du support pour la rotation des tuiles
  • Géométrie de collision et une clé de métadonnées personnalisé peuvent désormais être spécifiées

unreal20

Paper2D: Support pour les sprites avec de multiples textures
Définir des texture supplémentaires «créneaux».

Pour réaliser des matériaux personnalisés, un sprite éclairé par une carte normale, ou passer d’une texture translucide en deux textures opaques (l’un contenant des données alpha) pour la compression ETC1 sur Android.

unreal21

Paper2D: Interactive Extract Sprites Dialog
La boîte de dialogue pour extraire des sprites Extraire permet plus de contrôle sur la façon dont les sprites sont divisés à partir d’une texture, la rendant plus rapide et plus facile pour importer / préparer des assets pour une utilisation avec Paper2D
image_27
Paper2D: Grouped Sprite Components
Permet de travailler facilement avec des groupes de sprites.
unreal22
Nouveau: ‘Interpolate To’ Component
Ce composant peut être mis sur l’actor, ça lui permet de bouger automatiquement.
Pour spécifier plusieurs points entre lesquels interpoler,  un certain nombre de différentes options de comportement sont disponibles (par exemple en boucle, ping-pong, etc.)
image_29

 Nouveau: Support pour les grands Jeux Android
Support pour le téléchargement .obb des fichiers du Google Play Store. A bon entendeur…

unreal23
Nouveau: Faire des projets  iOS sur Windows
Support pour faire des projets en code iOS en utilisant SSH.
Exigences:

  • Une connexion à un Mac avec Xcode installé (Fais chier… désolé: il faut que je surveille mon putain de langage)
  • Un certificat de signature iOS dans le trousseau système
  • DeltaCopy ou autre logiciel SSH et Rsync pour Windows

Nouveau: Motion Blur et antialiasing pour l’animation de Vertex dans les matériaux

Les matériaux utilisant le World Position Offset  pour animer des vertex génèrent des “motion vectors”. Ces derniers permettent un motion blur per-pixel animé de façon procédurale. Anti-Aliasing et Distance Field Ambient Occlusion peuvent être utilisés en sus .

Nouveau:

Avec un thread dédié, on peut faciliter le chargement asynchrone des assets jusqu’à trois fois plus rapide!

AI: Support Blueprint Support pour EQS

Utiliser l’Environment Querying System des Blueprints. En exécutant une requête, on obtient une ‘query instance’, qui se déclenche quand la requête est terminée. Il y a également des fonctions pour accéder aux résultats de la requête.

unreal24Bon, va falloir que je fasse un tome “IA Avancé” si je ne veux pas décevoir mes lecteurs…

Et vous avez déjà pu probablement télécharger les 22Go de la démo “l’enfant et son cerf-volant” … Tout est là, sous nos yeux ébahis… et je lis en avertissement qu’il me faudra plus de 22Go de RAM si je veux pouvoir ouvrir le level au complet….. Ahhhh monde cruel.

Vous retrouverez l’intégralité des nouveauté “in inglishe” à cette adresse : https://docs.unrealengine.com/latest/INT/Support/Builds/ReleaseNotes/2015/4_8/index.html

Y-en a pour l’audio, pour l’éditeur de BP… On est pas près d’en faire le tour, mais ce n’est pas le plus important. Quand on a les bases, on arrive à se débrouiller – les updates, c’est que du bonheur ! Ils sont fous chez Epic !

Non sérieusement, je ne pouvais pas tout mettre ici, et puis ce sont les principales nouveautés tout de même. Après ce sont surtout des améliorations, des corrections… Si vous voulez connaitre la version 4.8… vous devrez l’explorer vous-même aurait dit “Morpheus” de Matrix 😉

Ces articles pourraient aussi vous intéresser …