• Vactro

GDC 2019 - Moteur Temps Réel et RayTracing

La Game Developer Conference est passé et ce fut l'occasion pour nombre de développeurs de faire leurs annonces pour les prochains gros hit à venir (ou simplement être raillés parce qu'ils vont être exclus temporaire sur l'Epic Game Store) mais aussi à Unreal, Unity et Cry Engine de pavaner et montrer l'évolution de leurs moteurs respectifs en rapport avec les tendances actuelles.



"Unreal ? Unity ? Cry Engine ? Qu'est-ce donc ?"



Ces noms un peu barbares sont des moteurs de jeux, ils permettent à des gens de donner vie à une idée ou un concept original (ou de piquer chez la concurrence et faire de meilleurs ventes, c'est un peu le far-west là-dessus). Ce sont des boîtes à outils où, décors, personnages, dialogues, son, musiques, cinématiques vont être imbriquées pour former un jeu vidéo.


On vit dans une époque formidable ou maintenant il n'est même plus nécessaire de débourser un demi-million de dollars pour utiliser un moteur pour une création sur UNE plateforme (Unreal Engine il y a quelques années), il suffit soit de débourser un abonnement (Unity), soit carrément une utilisation gratuite avec des royalties, selon le revenu généré (Unreal et Cry Engine). A noter que Unity propose d'autre possibilités comme une version personnel entièrement gratuite tant que vous dépasser pas un certain seuil de revenu au delà du seuil vous devrez vous acquitter d'un abonnement mensuel mais pas de royalties.


Bien évidemment ce ne sont pas les seuls moteurs de jeu ils en existent plein d'autre, mais je souhaitais m'attarder sur ceux-la, car ils ont fait des démonstrations vidéos plutôt impressionnante.


Commençons par les vidéos dite de "décrochage de mâchoire en règle"


Unreal Engine:


Cette vidéo est surement celle qui m'impressionne le plus, c'est Quixel qui fait la promotion du moteur et de sa solution de bibliothèque d'images très hautes résolution, il en résulte d'une vidéo au réalisme tout simplement bluffant avec une petite inspiration au dernier Blade Runner. J'aimerais beaucoup un film créé de cette manière.


Unity:


Unity nous montre ici une démonstration très impressionnante et solide de son moteur avec en un peu moins de 4 minutes tout ce qu'il faut pour donner envie de se lancer dans une production interactive ou non. Avec des effets de particules, de poussières, un travail d'ombre et de lumière qui sonne juste, je regrette simplement l'acting qui me fait penser à Sam Witwer dans "Le pouvoir de la force" (bien qu'il était plus appréciable dans Battlestar Galactica). Mention spécial au changement de dimension qui est juste impressionnante quand on reste dans une philosophie de temps réel.


CryEngine:


"Achieve with CryEngine" était la phrase phare du studio à son apogée en 2011, depuis quelques années Crytek est beaucoup plus discret, mais ne s'est pas encore retiré (heureusement je dirais, la concurrence a du bon). La vidéo que vous venez de voir est très intéressante, car bien qu'un poil timide en terme de direction artistique ou d'effet en tout genre, elle tourne sur une carte graphique plutôt modeste et montre un travail sur les réflexions avec le ray tracing qui est agréable à l’œil. Bien que le travail sur le RayTracing ne se fasse que sur les réflexions (je trouve d'ailleurs qu'ils ont bien joué leur coup en étant pas totalement clair et faisant croire à beaucoup de personnes qui ne se sont pas intéressés de plus près que c'était une démo entièrement faite avec la technologie du RayTracing) on est face à une démo qui donne envie pour les configurations un peu plus modeste d'avoir accès a de beaux visuels.



Maintenant parlons du RayTracing rapidement



Le "RayTracing" ou "lancée de rayons" dans la langue de Yves Guillemot est une technique de rendu utilisé depuis de nombreuses années dans les films d'animations 3D tel que les productions de chez Pixar. Elle permet de rendre des scènes de manières réalistes en calculant le rendu depuis la caméra vers toute la scène. Elle a l'avantage de ne plus avoir à créer des lumières "artificiels" en utilisant que celle du soleil et les ampoules et spot qui existe dans la scène. Elle va aussi créer des rebonds de la lumière d'un objet à un autre et du coup les couleurs vont se diffuser, là où, pour le rendu "classique", il faudra tricher et user de techniques pour rendre quelque chose de similaire. Elle permet aussi un meilleur travail sur la réflexion et la réfraction.

À gauche la scène sans RayTracing à droite avec, on peut observer la diffusion de couleur.

Le tout petit inconvénient de cette technique est qu'elle demande énormément de puissance de calcul, c'est pour cela qu'elle était utilisée il y a longtemps par Pixar (et bien d'autres boîtes) mais pas pour le jeu vidéo, sauf depuis peu où les moteurs se mettent à jour, les composants aussi permettant de jouir d'une technologie d'affichage équivalente aux productions cinématographiques. Nous ne débattrons pas sur le fait qu'il ne faut pas privilégier le réalisme, car ça tue la créativité (oui j'ai vraiment lu cette absurdité sur le net), car la n'est pas le sujet, mais promis peut être qu'un jour je ferais un billet là-dessus.


Je vous présente donc une petite démo de Unity qui met en avant le Ray Tracing dans sa solution (tout en nous imposant une pub d'une marque de voiture dans le plus grand des calmes):


Voilà ce que permet notamment la technologie de RayTracing, on en est encore au début, mais je sens que dans les années à venir on en profitera pleinement de ce gain visuel.



Finissons ce billet avec une dernière démo



Unreal Engine y est allé aussi de sa démo perso pour mettre en avant la physique dans son moteur, je me souviens bien des heures de travail et d'expérimentation que je passais pour créer de la destruction sur des scènes tellement plus simple que celle présentée qui est, je le rappelle en temps réel donc pourrait être dans un jeu:

Le nombre de particules et les différentes tailles de débris qui sont générés impressionne et montre un vrai pas en avant du moteur par rapport à ses débuts.


Les moteurs d'aujourd'hui avancent et vont arriver à un niveau qualitatif qui permettra enfin de laisser un peu plus de place sur autre chose que le visuel et la physique. La zone a vraiment amélioré maintenant se situe dans l'IA, sauf que ce n'est pas nécessairement le travail de ces moteurs, mais plus des développeurs, ou alors développer une solution d'intelligence artificielle à implémenter dans les jeux vidéos pour avoir des comportements de personnages plus crédible. On en reparlera.



Quelques liens si vous souhaitez en savoir plus sur les moteurs ou le ray tracing:

Unreal Engine

Unity

CryEngine

Le Ray Tracing

29 vues

©2018 by Vactro. Proudly created with Wix.com