En quelques mots, cette nouvelle version améliore la boîte à outils d’effets Niagara. Pour les modes multijoueurs, un graphe de réplication (développé pour Fortnite) permet de passer à une échelle bien plus grande que les solutions précédentes. La préparation du contenu prend jusque soixante pour cent de temps en moins.
Niagara
Niagara est un éditeur d’effets visuels, prévu en remplacement de Cascade. Il n’est pas encore finalisé, ce qui fait qu’il évolue toujours pas mal. Notamment, ces effets sont maintenant disponibles sur Nintendo Switch.
On peut échantillonner une texture en 2D depuis les scripts gérant les particules, ce qui peut servir à créer des effets à partir d’une carte de profondeur de la scène, par exemple.
Les effets peuvent être simulés sur GPU sur toutes les plateformes non mobiles. L’interface pour la création de systèmes et d’émetteurs de particules a été revue, notamment pour faciliter l’utilisation de modèles prédéfinis.
Graphe de réplication
Pour créer des jeux multijoueurs, il faut utiliser un mécanisme de réplication de l’état entre les différents joueurs. Le graphe de réplication est une nouvelle technique utilisée pour faire, développée dans le cadre de Fortnite : pour une partie, une centaine de joueurs doivent être synchrones pour cinquante mille acteurs. Ne fût-ce qu’itérer dans la liste des acteurs pour chaque joueur prendrait un temps prohibitif. Le graphe de réplication est une structure de données spécifiquement prévue pour ce problème : les joueurs ne sont pas entièrement indépendants, les mises à jour à envoyer à l’un sont probablement aussi utiles pour d’autres. Le graphe stocke des listes d’acteurs qui doivent être synchronisés dans des nœuds.
Optimisations pour les plateformes mobiles
Unreal Engine profite de Fortnite pour un deuxième aspect : les plateformes mobiles, grâce à la sortie de Fortnite sur Android et iOS. Notamment, en partenariat avec Samsung, la gestion de Vulkan a été fortement améliorée (tout en gardant la compatibilité avec OpenGL ES 3.1) — avec, pour résultat, un jeu qui peut être jusque vingt pour cent plus rapide qu’avec OpenGL ES.
Pour faciliter le déploiement, une application peut imposer des conditions, comme un GPU géré ou un pilote à jour, à l’aide du fichier configrules.txt et de la méthode FAndroidMis::GetConfigRulesVariable. Au premier démarrage, les shaders peuvent aussi être compilés, ce qui accélère les démarrages ultérieurs (certains téléphones n’apprécient pas l’extension binaire requise, ils ne pourront donc pas profiter de cette compilation).
Diffusion en direct vers un navigateur
Pour s’aligner avec la mouvance infonuagique, il devient possible de lancer une application Unreal Engine sur un ordinateur dans le nuage, puis d’afficher son résultat dans un navigateur Web — peu importe la plateforme, sans installation requise. On peut aussi interagir avec la scène à l’aide de JavaScript, des commandes qui peuvent être transférées au serveur.
Source : Unreal Engine 4.21 Released.