Performances améliorées dans les jeux VR
CEDEC 2016, l'une des plus grandes conférences japonaises destinées aux développeurs de divertissement informatique, s'est tenue au Pacifico Yokohama pendant trois jours, du 24 au 26 août 2016. Nous aimerions vous présenter un rapport de la session « UE4 VR Roadmap » qui s'est tenue le deuxième jour.
L'orateur de cette session sera l'ingénieur de support d'Epic Games, Joe Conley. Les dernières informations sur la prise en charge d'Unreal Engine 4 pour les travaux VR ont été introduites. Maintenant, nous allons livrer le contenu de la session.
Parlons d’abord des progrès d’Unreal Engine 4. Epic développe en fait des jeux et les utilise comme cas de test pour améliorer et optimiser le moteur. En tant qu'œuvre en cours d'élaboration,Train à grande vitesse" a été introduit. (L'article de référence estici)
En développant ce travail, nous avons inclus plusieurs nouvelles fonctionnalités. La première est la possibilité d'éliminer (et non de dessiner) une géométrie invisible et d'appliquer un post-traitement (effets tels que l'anticrénelage, le flou, la profondeur de champ, etc.) uniquement aux parties visibles. En ne dessinant pas de pièces invisibles, la vitesse de dessin du moteur est améliorée. Cela dépend de la plate-forme, mais par exemple, le PSVR peut économiser 1,0 ms. "Cela peut sembler un petit nombre, mais cela peut avoir un effet important selon la situation", a déclaré Conley.
"La vitesse de réaction du jeu est également très importante en VR", a déclaré Conley. Pour améliorer la latence, nous mettons à jour les caméras, les pièces jointes, les contrôleurs de mouvement, etc. juste avant que le thread GPU ne commence à fonctionner, ce qui les rend aussi réactifs que possible. Il semble y avoir une grande différence sur la plateforme 60 Hz.
Une autre optimisation importante est le RENDU STÉRÉO INSTANCED. Cela dessine des maillages d’images pour les deux yeux en même temps, économisant ainsi du temps CPU et GPU. Disponible uniquement sur PC et PS VR, mais le sera prochainement sur les plateformes mobiles.
Cependant, effectuer du clipping avec le vertex shader n’est pas très adapté à la PS4. Par conséquent, le PSVR utilise une approche différente appelée optimisation multi-vues. Il semble que cela sera implémenté à partir de la version 4.13. "Mobile aura une implémentation similaire à PS VR", a déclaré Conley.
Pour le PSVR, le Early Z Pass a également été amélioré. Auparavant, seul le maillage statique était pris en charge, il n'était donc pas possible de l'utiliser pleinement. Par conséquent, il prend également en charge le maillage dynamique. Les temps de dessin ont légèrement augmenté, mais les coûts du GPU ont considérablement diminué, ce qui en fait « une amélioration globale », a déclaré Conley.
Unreal Engine 4.12 prend en charge sept plates-formes. Puisqu'il prend tout en charge en standard, il peut être exécuté sur chaque plate-forme sans rien faire du côté du développeur. "Cette année est censée être la première année de la réalité virtuelle, mais la base installée est encore petite. Il est important que les développeurs puissent facilement publier sur autant de plates-formes que possible", a déclaré Conley.
Utilisez l'éditeur VR pour créer des jeux directement sur l'écran VR !
À partir de là, nous introduirons de nouvelles fonctionnalités dans le moteur et le framework. En VR, il est important de maintenir une fréquence d’images élevée, et non seulement les performances du GPU mais aussi les performances du CPU sont importantes. Pour cette raison, il a recommandé de convertir les Blueprints en C++ pour les pièces nécessitant un traitement lourd.
4.12 inclut un outil expérimental pour convertir automatiquement les Blueprints en C++. Il s'agit d'un plan facile à modifier car il est converti lors de l'empaquetage et il présente l'avantage de pouvoir atteindre les performances du C++ au moment de l'exécution réelle. "C'est assez flexible", a déclaré Conley.
Afin de maintenir les fréquences d'images, a-t-il ajouté, "il est également important d'évoluer en fonction de la puissance de la plate-forme cible". Pour cela, il est équipé d'une fonction qui modifie l'échelle en temps réel. «Il est possible d'obtenir des images riches tout en conservant la fréquence d'images.»
Parlons ensuite du rendu. En utilisant « Bullet Train » comme exemple, les fonctions et techniques permettant de créer des images de haute qualité en VR ont été présentées.
"Pour Bullet Train, nous avons créé le jeu à l'aide d'un moteur de rendu différé de bureau", a déclaré Conley. Le moteur de rendu différé (une méthode de rendu qui retarde les calculs d'ombrage) utilise beaucoup d'informations dans GBuffer et peut créer des images riches en appliquant des effets.
Par exemple,"TRAIN À BULLETUne illustration d'un panneau reflété sur le sol qui apparaissait en ``. Dans ce cas, la réflexion n'est pas calculée ni dessinée, mais un polygone de plaque basé sur le modèle du panneau est placé sous le panneau et une distorsion est ajoutée pour le faire ressembler à un reflet. "Les matériaux permettant d'obtenir cet effet sont assez simples", a déclaré Conley. Une technique similaire est utilisée pour les images où les personnages se reflètent sur le sol. Afin de s'adapter à la rotation des jambes, plusieurs poses ont été préparées et mélangées.
J'utilise également GBuffer pour l'éclairage du train. À l’origine, la scène avait été créée à l’aide de plus de 70 lumières dynamiques, mais les utiliser telles quelles aurait été trop lourd à traiter. Nous avons donc créé un faux éclairage en utilisant les textures de lumière et d'ombre créées à l'avance. Celle-ci est projetée sur le monde pour recréer la lumière qui entre dans l'entreprise depuis l'extérieur du train.
"Nous pensons qu'en utilisant le moteur de rendu différé, nous pouvons créer des jeux VR avec un fort impact visuel", a déclaré Conley. Cependant, cela n’est pas efficace pour toutes les expériences VR, et il existe des cas où il y a un compromis à faire.
C'est pourquoi Conley a annoncé le moteur de rendu direct de bureau. Les deux ont des fonctionnalités différentes ; par exemple, le moteur de rendu direct peut diminuer plus rapidement et mieux, mais il ne possède pas toutes les fonctionnalités du moteur de rendu différé. La raison pour laquelle il peut si bien réduire l'échelle est qu'il utilise MSAA pour l'AA (anticrénelage). "Une mise à l'échelle plus petite ne réduit pas significativement la qualité de l'image finale", a déclaré Conley. "De plus, MSAA vous permet de modifier le chemin en 4x, 8x, etc., afin que vous puissiez réduire la résolution et augmenter la passe, ou inversement, augmenter la résolution et réduire la passe, en fonction de votre propre contenu."
"Le moteur de rendu différé est polyvalent, mais difficile à utiliser", a déclaré Conley. Bien que la version 4.13 dispose d'un moteur de rendu direct, « Personnellement, je pense qu'il est encore trop tôt pour l'utiliser. » "La version 4.13 n'a que quelques fonctionnalités et le processus d'optimisation n'a pas encore commencé, donc les performances ne sont pas encore là. La version 4.14 sera beaucoup plus utilisable", a déclaré Conley.
Ensuite, M. Conley a parlé de l'éditeur VR, qui est le contenu que « je pense personnellement être le plus intéressant ».
L'impulsion du développement était que lors de la création d'un niveau pour un jeu VR, il souhaitait réduire le temps requis pour le premier et le dernier 20 %. Cela implique de créer un niveau en l'exécutant sur un PC, puis de le tester en portant un casque VR. Après cela, j'ai retiré le casque VR et effectué à nouveau les réglages sur le PC, et ainsi de suite. Cela fait perdre du temps à mettre et à retirer le casque VR à chaque fois, réduisant ainsi l'efficacité de la production.
Il s’adresse également aux créateurs non professionnels, qui constituent le deuxième public cible. Par exemple, même les personnes qui souhaitent se lancer dans la VR en tant qu'indépendant trouveront l'éditeur VR facile à utiliser.
Cet éditeur inclut une version préliminaire à partir de la version 4.12. Les commentaires des utilisateurs réels seront utilisés pour orienter les orientations futures.
La prochaine étape de l'éditeur VR a également été introduite. Tout d’abord, des améliorations du gadget d’édition. La zone de préhension a été élargie et la fonctionnalité de rotation et de placement a été améliorée, ce qui la rend encore plus facile à utiliser.
De plus, il semble qu'il était difficile d'interagir avec l'interface utilisateur traditionnelle en VR, mais pour résoudre ce problème, un composant d'interaction avec les widgets a été ajouté. Il est désormais possible d'interagir facilement avec les widgets UMG et Slate placés dans l'espace 3D. Il dit qu'il est désormais plus facile d'utiliser l'interface utilisateur qui existait déjà dans l'éditeur.
Vous pouvez désormais démarrer le jeu directement depuis l'éditeur VR. Auparavant, les utilisateurs devaient sélectionner soit le développement, soit le lancement du jeu, puis lancer l'environnement de développement, mais ils peuvent désormais passer de l'écran de développement au jeu, ce qui le rend plus pratique. De plus, sur l'écran de création, vous pouvez passer automatiquement à l'écran VR en portant simplement le casque VR editor.
Il a également mentionné que l'une des raisons pour lesquelles l'UE est si facile à utiliser est qu'il dispose d'une documentation complète. Nous ajoutons et mettons à jour les documents et les localisons en japonais autant que possible. Conley dit également que les modèles (exemples de programmes) fournis avec le package sont extrêmement utiles pour démarrer rapidement le développement de jeux. La version VR est installée depuis la 4.13, et il existe des tâches essentielles courantes telles que des exemples de réglage de la caméra et la téléportation, afin que vous puissiez commencer à travailler immédiatement.
Unreal Engine 4 prend également activement en charge les jeux VR. J'espère voir de nombreuses œuvres VR riches utilisant ce moteur.