Pourquoi les graphiques de jeu ne sont-ils pas aussi beaux que les films d'animation?

60

Je me souviens avoir regardé la bande-annonce pré-rendue de Tomb Raider, et souhaité que ces graphiques puissent être dans le jeu lui-même.

Pourquoi il y a une telle différence entre la bande-annonce et le jeu actuel? Je comprends que le jeu est un concept complètement différent, il a un pipeline différent, il doit passer par différents types d'interactions entre joueurs, etc. Je veux savoir en quoi les jeux rendent le rendu si difficile par rapport aux films d'animation.

Jusqu'à présent, je sais que la création d'un jeu et d'un film d'animation partagent une charge de travail de base, par exemple la création de modèles 3D, leur rendu (uniquement dans le jeu, cela se fait en direct). Les films d'animation sont restitués pendant longtemps et nous ne voyons que des scènes pré-rendues. C’est tout ce que je sais, alors j’espère que vous répondrez de ce point de vue!

Qu'en est-il du rendu des films d'animation pendant des heures et des heures qui les rend si beaux, alors que le rendu en direct dans le jeu l'est moins (d'un point de vue général)?

cowboysaif
la source
1
Je ne vois vraiment pas comment la réponse acceptée répond vraiment aux points de votre question. Pouvez-vous laisser un commentaire ici comme un résumé de ce que vous avez compris, c'est-à-dire quelles nouvelles vous a-t-il apportées afin que vous compreniez maintenant le problème que vous n'aviez pas auparavant?
Bogdan Alexandru
4
Je ne sais pas pourquoi vous êtes confus. La question est le titre. le poste accepté répond à cette question.
Jhocking
2
En fait, j'ai compris 80% de la réponse. Le reste couvrait 20%, spécialement j'ai beaucoup appris de la réponse de @ Vladimir (voir ci-dessous). Certaines réponses ont même abordé des sujets auxquels je n'avais pas pensé, par exemple l'ajout de détails après le rendu. Et pour répondre à votre question, j’ai choisi la réponse parce que je pense que cela a apporté un niveau de compréhension plus profond (non seulement il a mentionné des points, mais les algorithmes / concepts fonctionnant derrière elle). Et à ce moment-là, j'avais fini de lire ceci, d'autres réponses étaient aussi incroyables! Il était difficile de choisir lequel est le meilleur, mais les gens semblent l’aimer aussi! Je les cocherais tous!
cowboysaif
Peut-être parce que les développeurs de jeux n'ont aucun intérêt à dépenser plus de 50 000 000 $ en effets - une chose que les producteurs de films font régulièrement de nos jours.
Pieter Geerkens

Réponses:

109

Vous avez déjà mentionné l'un des points centraux: le temps .

Lors du rendu d'une animation haute fidélité, de nombreuses approches et algorithmes différents sont utilisés (tous généralement combinés sous le terme "Illumination globale" ), le lancer de rayons étant l'un des plus courants (d'autres incluent par exemple Radiosity et Ambient Occlusion ).

Le lancer de rayons consiste à simuler un nombre (généralement élevé) de rayons lumineux traversant la scène et à calculer leurs trajectoires, leurs réflexions et leurs réfractions lorsqu'ils frappent des objets avec des matériaux différents. En retour, différents matériaux ont des propriétés physiques différentes qui entraînent des réactions spécifiques pour les rayons (la quantité de lumière qui rebondit sur un objet, par exemple, est plus élevée pour un objet brillant que pour un objet brillant).

La physique est un autre point : simuler des milliers de souches de cheveux de manière physiquement correcte prend beaucoup de temps. C'est pourquoi, dans les jeux plus anciens, les poils sont souvent approximés avec un maillage très rugueux qui est ensuite texturé pour donner une impression de poil, éventuellement avec quelques objets en mouvement supplémentaires pour le rendre un peu plus réaliste.

Également à prendre en compte: mémoire et bande passante . Plus la qualité d'une texture appliquée à un objet dans une scène doit être élevée, plus vous avez besoin de mémoire pour la charger et l'utiliser dans un jeu. Mais le système doit non seulement disposer de suffisamment de mémoire pour stocker les données, mais ces données doivent également être transférées, ce qui utilise la bande passante disponible. Étant donné que la mémoire et la bande passante sont limitées, il existe un maximum de possibilités.

Les jeux trichent souvent en n'utilisant que les textures haute résolution pour les objets proches et utilisent des images en basse résolution pour les objets éloignés (terme: MipMapping ), réduisant ainsi la bande passante nécessaire, car moins de texels doivent être récupérés, ce qui augmente les performances. (voir la section sur MipMapping dans le Guide de programmation OpenGLES d’Apple).

De même, les jeux utilisent souvent des maillages différents pour les objets en fonction de leur distance, les objets éloignés étant moins détaillés (terme: LoD = Level of Detail ).

Conclusion: dans les graphiques en temps réel (tels que les jeux et les simulations), ce processus de rendu détaillé et complexe ne fonctionnera bien entendu pas pour produire des scènes fluides / lisses. Vous avez besoin d'au moins 20 images rendues par seconde pour obtenir cet effet d'animation / mouvement fluide pour l'œil humain. De l'autre côté, le rendu d'une seule image (!) Dans un film d'animation peut facilement prendre de quelques heures à plusieurs jours, en fonction de nombreux facteurs tels que le nombre de rayons utilisés dans Ray-Tracing ou le nombre d'échantillons pour Ambient. Occlusion (voir la page 1 de Pixar / page 2 de Pixar pour des captures d’écran de 16 échantillons sur 256) ainsi que la résolution de film souhaitée (plus de pixels = plus d’informations à calculer). Voir aussi cet articleà propos du processus derrière le film d’ animation de la Monsters University de Pixar , donnant des informations intéressantes et mentionnant également 29 heures de temps de rendu par image.

En général: Plus la fidélité / le réalisme doit être élevé, plus le nombre d'itérations / rebonds / échantillons requis est élevé, ce qui nécessite en retour davantage de ressources (temps et / ou puissance de calcul / mémoire). Pour visualiser la différence, consultez le rendu obtenu en fonction du nombre de rebonds pour le calcul de la réfraction dans cet exemple: Diamond Bounces from Keyshot

Mais bien entendu, la qualité des applications en temps réel augmente sans cesse pour deux raisons:

  1. Matériel plus puissant: au fur et à mesure que les ordinateurs (de jeu) s'améliorent (= plus de puissance de calcul [parallèle], une plus grande transmission des données entre les composants de l'ordinateur, une mémoire plus grande et plus rapide, etc.), la fidélité visuelle augmente également, car les calculs prennent plus de temps devenir réalisable dans un système en temps réel.
  2. Des méthodes / formules plus intelligentes sont développées et mises en œuvre, capables de créer des effets plutôt photoréalistes sans avoir besoin de lancer de rayons. Cela implique souvent des approximations et parfois des données pré-calculées. Quelques exemples:

Philip Allgaier
la source
4
@ Cowboysaif non, vous ne pouvez pas le faire sur un GPU "tel quel". Vous devrez vous spécialiser HW. Cependant, il existe des tentatives pour lancer le lancer de rayons en temps réel en utilisant CUDA ou une technologie similaire.
Wondra
4
Il existe de nombreuses autres techniques que le lancer de rayons utilisé pour le rendu hors ligne, lors de la création de cinématiques de qualité professionnelle. Mais comme vous le dites, ils utilisent des techniques de rendu, d’éclairage et d’ombrage coûteuses qui ne sont tout simplement pas pratiques pour un rendu en temps réel.
MrCranky
40
Cette réponse explique pourquoi l’animation pré-rendue prend beaucoup plus de temps mais ne donne pas vraiment une idée de l’échelle. La différence est énorme ! Un jeu doit restituer une image en moins de 1 / 30e de seconde, alors que les films mettent plusieurs jours pour restituer chaque image.
Jhocking le
9
"Days" est certainement la tranche haute de l'échelle de temps, mais oui, les films prennent parfois plus d'une journée pour restituer une seule image (voir ici, par exemple venturebeat.com/2013/04/24/… ), et même à la moyenne les temps de rendu sont encore comme une demi-journée par image, ce qui est encore beaucoup plus long qu’un jeu à restituer. La raison pour laquelle le film ne prend pas une décennie à faire est qu’ils ont une ferme de rendu, c’est-à-dire. des centaines de machines rendues en même temps.
Jhocking le
7
Quelques faits: le lancer de rayons est utilisé partout, ce n'est absolument pas une technique de niche. VRay est uniquement un processeur. VRayRT est uniquement un GPU. Le GPU n'est pas bien adapté à la production car les scènes utilisent généralement beaucoup de Go de RAM et ne tiennent pas sur le GPU (mais cela peut parfois aider). Nos propres prises prennent entre 1 et 2 heures / image sur des processeurs haut de gamme, et ce n’est pas si long. JackAidley a complètement tort.
Calvin1602
44

Outre le facteur temps, il convient de noter que dans un film, l'artiste contrôle parfaitement ce que le spectateur regarde et ne regarde pas.

Dans votre scène de film typique, la caméra ne passe pas beaucoup de temps au plafond, ni dans un coin sombre de la pièce, ni à la cheville de quelqu'un, de sorte que le budget et le budget de texturation de ces éléments sont assez bas.

Si la scène entière se déroule à partir d'un seul point de vue, le plateau virtuel (comme un plateau de tournage réel) n'a pas besoin d'inclure les parties situées derrière la caméra. Dans la plupart des jeux, le joueur est libre de regarder n’importe où et à tout moment. Cela signifie que le budget qualité peut être concentré sur ce qui est réellement vu. (Certains jeux à la troisième personne, par exemple la série God Of War, utilisent une caméra à accès restreint; leurs visuels ont tendance à être considérablement meilleurs que ceux de jeux à caméra gratuite.)

Russell Borogove
la source
12
Un point à ne pas sous-estimer. Le rendu d'un ensemble fixe d'images permet une mise au point complète sur ces images uniquement. Tout ce qui cause un problème dans une image individuelle peut être traité manuellement.
aaaaaaaaaaaaa
9
Heck, cela est souvent utilisé avec des jeux qui font leurs cinématiques "vivre dans le moteur", c'est pourquoi les scènes cinématiques peuvent toujours paraître mieux.
Trlkly
Un jeu qui enfreint cette règle à mon humble avis est Brothers: A Tale of Two Sons .
Basic
12
Qu'en est-il du rendu des films d'animation pendant des heures et des heures qui les rend si beaux, alors que le rendu en direct dans le jeu l'est moins (d'un point de vue général)?

Vous supposez que la différence réside simplement dans le rendu - dans un film d'animation, il y a aussi une possibilité de montage après coup. Ils pourraient avoir des effets composés qui auraient été difficiles à obtenir dans le moteur d'origine, ou ils pourraient modifier un peu les choses (par exemple, supprimer ou répéter toutes les 10 images pour accélérer / ralentir l'animation).

Si vous en avez l'occasion, procurez-vous l'un des DVD de «Roughnecks: The Starship Trooper», car les rédacteurs et les animateurs en ont commenté les trucs qu'ils devaient faire quand ils ont commencé à prendre du retard sur leur calendrier de livraison - des choses comme recycler les tirs mais inverser l’axe afin que ce ne soit pas aussi évident, corrections de couleur, masquage des choses qu’ils n’aimaient pas, ajout d’explosions, etc.

Joe
la source
Les moteurs de jeu font aussi ça! ;-)
Adrian Maire
@AdrianMaire: ils pourraient faire d'autres choses, mais ils n'auraient pas l'humain là-bas pour jouer le rôle d'éditeur et de peaufiner les choses au besoin. Je sais que j'ai mentionné comment ils modifiaient les choses, mais ce que je voulais surtout dire, c'est qu'il y avait des humains impliqués dans des projets déjà rendus.
Joe
10

Vous avez déjà répondu à votre propre question. Les films d'animation ont généralement un niveau de détail plus élevé, ce qui entraîne un temps de rendu long pour chaque image.

Par contre, les jeux ne contiennent pas autant de détails, car la scène doit être rendue au moins 30 fois par seconde. C'est également pour cette raison que les développeurs essaient de réutiliser le plus possible d'actifs (textures, modèles, etc.), car le rendu du même objet à deux positions est beaucoup plus rapide que si tout était unique. Ils doivent également veiller à ne pas utiliser trop de polygones dans leurs modèles, mais plutôt à obtenir une impression de profondeur en utilisant l’éclairage, les textures, les reliefs et d’autres techniques.

Les films n'ont pas ce problème; ils réalisent la scène comme ils le souhaitent et utilisent autant de textures, de modèles et de géométries détaillées que nécessaire pour obtenir la scène recherchée.

On pourrait dire que les jeux sont en train de rattraper. Si vous regardez quelques-uns des jeux les plus attrayants de ces dernières années, ils ne sont plus aussi éloignés de la qualité du film qu'ils l'étaient. Bien sûr, vous serez toujours en mesure d’intégrer plus de détails dans une scène prédéfinie qu’un jeu, mais je pense que la différence ne sera plus aussi marquée dans quelques années.

Christian
la source
1
Aimer cela répond! Alors, qui devrait être le principal coupable? Niveau de polygone ou tracé de rayon? Les moteurs de jeu ont-ils tendance à utiliser le tampon z parce qu'il est plus léger? Ou le lancer de rayons fait plus que calculer la profondeur?
cowboysaif
2
J'imagine que c'est le lancer de rayon. Philip semble être beaucoup plus au courant que moi à ce sujet, mais pour autant que je sache, il s’agit en fait d’un moyen de simuler les rayons lumineux comme ils le feraient en réalité - rebondir les choses, être diffusé, brisé ou autrement modifié par les éléments de la scène , etc. Si vous avez des objets comme la fourrure, les cheveux ou d’autres simulations lourdes (comme des fluides) dans votre scène, les performances physiques sont également lourdes. De plus, ces objets affectent à nouveau la complexité du tracé de rayons.
Christian le
2
Une application de lancer de rayons a également besoin de quelque chose comme un tampon Z pour déterminer et stocker les objets occlus avec d'autres objets. Mais le traçage de rayons est beaucoup plus détaillé qu'une application en temps réel, car il fait tout ce que Christian et moi avons déjà mentionné pour obtenir une fidélité graphique plus élevée en envoyant ces rayons lumineux individuels et en calculant les réfractions / diffusions réelles, par exemple dans des objets en verre ou dans de l'eau. , rendu physique des cheveux, éclairage indirect et occlusion ambiante, etc. (bien que certaines de ces parties puissent également être approchées en temps réel, comme je l’ai dit plus tôt).
Philip Allgaier
7
Les films sont rendus avec environ 10-12 heures de temps de calcul par image. Et selon la loi de Blinn, chaque fois que la puissance de calcul s'améliore, ils ajoutent simplement plus d'éléments à la scène, de sorte que la vitesse ne s'accélère jamais. Le rendu de film a également tendance à utiliser des solutions «exactes» de forme fermée pour toutes les équations de rendu, où les jeux font de nombreuses approximations car il doit être un million de fois plus rapide qu'un film.
Chuck Walbourn
2
Je n'avais
8

Les autres réponses traitent en détail des problèmes graphiques bruts, mais ne mentionnent pas une partie importante du réalisme des jeux par rapport aux films et aux bandes-annonces: les animations et les mouvements de caméra .

Dans un film ou une bande-annonce, chaque mouvement de personnes et d'appareils photo peut être soigneusement coordonné pour montrer l'émotion qui convient au moment présent, sans avoir à les répéter. Dans les jeux vidéo, le jeu doit pouvoir réagir instantanément aux mouvements du joueur et doit réutiliser un petit groupe d’animations de stock afin de remplir les heures illimitées de jeu possibles.

La remorque en question en est un exemple lorsque le thérapeute hoche la tête et lui sourit «pas mal» , et lorsque Lara saisit l'accoudoir, secoue la jambe ou regarde la caverne avec effroi. Ces petites choses (ou leur absence et les personnages "plastiques" impliqués) affectent le réalisme perçu bien plus que des améliorations graphiques mineures.

Contrairement aux autres différences graphiques, il ne s'agit pas d'un problème qui peut potentiellement être résolu en augmentant la puissance de calcul: il s'agit d'une différence fondamentale entre un monde scripté et un monde qui répond à toutes vos actions. À cet égard, j’espère que le réalisme des bandes-annonces actuelles dépassera tout le gameplay dans un avenir prévisible.

Tim S.
la source
8

Outre les excellentes réponses déjà publiées, il convient de noter que, pour obtenir les temps de traitement rapides nécessaires aux jeux, les développeurs de jeux ont besoin de réaliser de nombreux effets visuels sous forme de simples textures. Cela signifie qu’il faut prendre grand soin d’éviter les effets qui ne cuisent pas bien.

Un effet important, difficile à obtenir pour les jeux vidéo, est la diffusion subsurface (SSS) . Malheureusement, cet effet est vraiment important pour générer une peau humaine d'aspect réaliste. C'est pourquoi de nombreux personnages de jeux vidéo "réalistes" ont l'air plastique.

Les développeurs évitent ce problème en créant des caractères de couleurs vives afin de nuire à l'aspect plastique, ou en ajoutant de nombreux ombres et détails texturaux au visage (comme des barbes, etc.) pour séparer les grandes sections continues peau.

Vladimir
la source
2
Sans parler de tout le travail de post-traitement qui entre dans les animations de films. Un grand nombre de choses sont rendues sous forme de plusieurs scènes distinctes qui doivent être superposées après le rendu. C'est pourquoi, dans de nombreux films d'animation, vous verrez souvent des arrière-plans relativement statiques avec des personnages se déplaçant au premier plan.
Vladimir
6

Pour répondre à l'une des questions posées par le PO dans un commentaire:

"Alors, qui devrait être le principal responsable? Niveau de polygone ou tracé de rayons?"

Cette question est plus difficile qu'il n'y paraît. Je pense qu’une bonne règle empirique est l’équation suivante (que j’ai inventée en passant):

number of calculations = {polygons} * {light sources} * {effects}

En gros, cela signifie que pour les modèles avec relativement peu de matériaux spéciaux (c'est-à-dire sans miroir, sous-surface, etc.), le temps de calcul sera important, en fonction du nombre de poligons. C'est généralement le cas pour les graphiques de jeu vidéo très simples.

Dans la pratique, cependant, dans les nouveaux jeux haut de gamme et en particulier les films, le coupable est "généralement" le lancer de rayons. Pourquoi? Eh bien pour deux raisons. Je vais d'abord donner la raison mathématique, puis mon opinion sur la vraie raison à la fin.


Raison Mathy:

Mise à jour: Cette explication mathématique peut ne pas être complètement exacte. Veuillez consulter l'explication de CrazyCasta dans les commentaires pour plus de détails.

Supposons que vous avez 1000 polygones et 3 sources de lumière. Le plus petit nombre de traces de rayons que vous devez effectuer est de 3 * 1000.

Si nous simplifions trop la situation et supposons qu'un tracé de 1 rayon = 1 calcul (une sous-estimation grossière), nous aurons besoin de 3 000 calculs.

Mais supposons maintenant que vous souhaitiez également des réflexions.

Les paramètres par défaut pour les réflexions dans le programme gratuit Blender sont les suivants:

max reflections  = 2
ray length limit = None
...

Pour ces paramètres, on peut estimer que, dans le meilleur des cas, cette réflexion très simple doublera le coût de calcul de votre modèle.

Mais comme je l'ai déjà dit, cet exemple est très simpliste et vous pouvez trouver un grand nombre d'effets (en plus de ceux que j'ai déjà mentionnés) qui vont filmer votre temps de rendu à travers le toit.

Cas et point: essayez de rendre les réflexions avec gloss=1(la valeur par défaut dans Blender), puis réduisez le brillant à 0,01 et comparez les deux temps de rendu. Vous constaterez que celui avec 0,01 brillant sera beaucoup plus lent, mais la complexité du modèle n'a pas été modifiée du tout.


Ma raison qualitative mais plus réaliste:

L'augmentation de la complexité du maillage améliorera la qualité du modèle jusqu'à un certain point. Après avoir dépassé quelques millions de visages, l'ajout de nouveaux visages n'a pas beaucoup d'importance. J'irai même jusqu'à dire que si vous utilisez le lissage, vous pourrez vous en sortir avec seulement quelques centaines de visages pour des raisons plus générales.

Mais les choses qui font presque toujours la différence sont l’éclairage, les effets matériels et le traçage des rayons. C'est pourquoi les films ont tendance à en utiliser un grand nombre pour tenter de se rapprocher des belles complexités du monde réel.


Un excellent moyen d’avoir une idée de tout cela est de consulter la liste des acteurs à la fin des dernières animations de longs métrages de Disney. Vous serez probablement surpris par le nombre de personnes qu’ils ont en éclairage et en texture.

Vladimir
la source
2
Mon dieu c'est le point que je cherchais. Bien que ce ne soit pas ma question (j'étais un peu confus, que devrais-je demander), je pense que ça y est!
cowboysaif
1
@cowboysaif Heureux de vous aider! :)
Vladimir
1
En réalité, les choses ne sont pas aussi belles que j'aurais pu les faire paraître. Mais je pense que cela peut vous aider à avoir une idée générale. Je compte habituellement sur des essais et des erreurs. Comme si je rendais une longue scène plus longue (plus de 100 images), je commence par rendre une ou deux images pour que je puisse voir à quelle vitesse ça va et quels effets tendent à la ralentir.
Vladimir
2
Une vieille astuce consistant à utiliser POVRay sur un 486 de retour dans la journée - si vous voulez savoir quelles parties de votre scène sont les plus chères, affichez plusieurs vues de la scène avec tous les acteurs et accessoires en place et observez les parties qui ralentissent. le raytracer à un rampement. Zoomez sur ces portions pour déterminer les performances les plus défavorables et consacrez la majeure partie de votre budget de rendu aux cadres contenant ces éléments. Si vous avez un calendrier de rendu serré, envisagez de recadrer certains plans.
Tom B
1
@TomB Bon conseil! J'ajoute à cela que si vous vous attendez à ce qu'une scène particulière soit lente, vous pouvez la gérer sur le Web et restituer tout le reste localement.
Vladimir
4

Il est intéressant de noter que l'animation de film fait généralement beaucoup de ruses visuelles pour fluidifier le mouvement perçu.

Les animateurs peuvent, par exemple, utiliser des techniques traditionnelles d'animation à la main qui ne sont généralement pas utilisées dans le rendu en temps réel, telles que les frottis, les multiples ou les déformations, pour produire des mouvements plus fluides malgré le nombre d'images par seconde plus bas (en tout cas, jusqu'à récemment). ) affiché à. L'utilisation de maillages complique en particulier l'utilisation de frottis et de multiples - vous devez générer des déformations de maillage pour ce type de distorsion, et je ne pense pas que cela ait été le cas dans les jeux vidéo 3D.

Les images avec des objets en mouvement rapide qui les traversent peuvent être rendues à un nombre d'images par seconde différent, puis combinées à nouveau pour produire un flou de mouvement dans la scène. Le flou de mouvement est une technique assez courante dans les graphiques 3D en temps réel de nos jours. L’effet n’est généralement pas de la grande qualité qu’une maison d’animation disposant de dizaines de processeurs obtiendra (voir les réponses "temps" ci-dessus), en grande partie à cause du fait que la simulation du flou de mouvement nécessite vraiment de multiples étapes de post-traitement par couche, et un grand nombre de cadres intermédiaires pour être vraiment fluide.

Faire ce genre de trucs visuels pour améliorer la qualité perçue avec des graphiques en temps réel nécessite de limiter le nombre d'images par seconde à des vitesses bien en dessous du maximum des cadres intermédiaires avec rendu en arrière-plan disponibles, puis de composer pour produire le cadre final. Il existe probablement de nombreux courants de pensée sur la question de savoir si les légères améliorations de la fidélité visuelle résultant de l'utilisation de telles techniques valent la perte de budget, surtout s'il est extrêmement difficile d'obtenir des résultats optimaux.

Pour répondre à un aspect de votre question:

Qu'en est-il du rendu des films d'animation pendant des heures et des heures qui les rend si beaux, alors que le rendu en direct dans le jeu l'est moins (d'un point de vue général)?

Artisanerie, principalement. Les artistes en temps réel n'ont pas la possibilité d'affiner chaque image ou de créer des astuces uniques pour améliorer l'aspect général d'une scène ou d'une réaction, non seulement à cause des contraintes de temps (de développement ou de rendu), mais aussi parce des contraintes pratiques. Comme indiqué dans le commentaire sur l'interactivité, le joueur ne va probablement pas faire exactement la même chose à chaque fois, mais le film sera lu de la même manière à chaque fois.

Cela signifie que l’artiste du jeu vidéo a des priorités très différentes en ce qui concerne la qualité du modèle et la qualité du rendu final par rapport à l’artiste. Les deux requièrent d'énormes compétences, mais chacune exige des techniques différentes. Je m'attends à ce que ces techniques convergent de plus en plus à mesure que le matériel de rendu au niveau consommateur continue de progresser et que le génie mathématique continue à émerger au niveau de vos SIGGRAPH et de vos GDC.

Tom B
la source
1
Oooh tu viens de discuter de quelque chose dont je veux parler. Déformation du maillage? est-ce aussi appelé modificateur de maillage? Il existe un modificateur que j'ai utilisé pendant que je bricolais avec l'unité 3D, il s'appelle méga-fiers ( west-racing.com/mf/?page_id=2 ). Bien que l'unité 3d ne prenne en charge que l'animation basée sur les os, pensez-vous que les technologies de jeu résistent enfin? Je n'ai aucune idée des autres moteurs de jeu!
cowboysaif
1
Ce type d'effet devrait être compatible avec toutes les techniques d'animation tant que vous utilisez des distorsions mathématiques de modèle entier avec un vertex shader (probablement ce que font les "méga-champions"). Quelques autres approches sont les suivantes: * avoir un maillage "cible" qui est un deuxième maillage complètement déformé et utiliser votre vertex shader pour déplacer les sommets de votre maillage vers leurs sommets correspondants dans le deuxième maillage; * intégrer les déformations dans votre modèle et utiliser l'animation par images clés; * faire vos distorsions en utilisant une animation squelettique plaçant exclusivement des os supplémentaires au besoin ...
Tom B
1
Je suis certain que ce type d'animation est possible depuis un certain temps et qu'il a déjà été utilisé dans une certaine mesure, même si je ne me souviens que dans la plupart des cas de jeux avec créatures blobby et modèles flexibles (comme Gish, Tower of Goo, Octodad). . La partie difficile vient de déterminer quand utiliser les effets, en particulier lorsqu'il s'agit d'utiliser des effets multiples ou des frottis. La direction du mouvement de la caméra influe sur l'aspect du multiple ou du maculage obtenu. Je suppose que les directives utilisées par les animateurs de la main seraient un bon point de départ, mais pensez à tout le plaisir que procure l'expérience!
Tom B
3

Un seul film d'animation peut prendre plusieurs années à être rendu sur une seule bête d'une machine. Comme il est pré-rendu, peu importe les effets coûteux que nous ajoutons à la scène, tels que la lumière, les ombres, etc. Ces films sont généralement restitués par des fermes de rendu où des milliers d'ordinateurs sont liés et travaillent sur le même travail.

La raison pour laquelle nous ne pouvons pas obtenir la même qualité en temps réel est simplement due au fait que la machine doit restituer la trame actuelle en environ 16 ms pour obtenir un FPS de 60. La restitution d'une image par film peut prendre des heures sur un seul PC.

Dans un jeu, en plus des graphismes, il se passe une tonne d'autres choses. Chaque cadre, il y a des tonnes de calculs. Simplement dit, un film d'animation n'a pas besoin de calculer les dégâts subis par le joueur depuis un lance-roquettes.

Heureusement, il y a des gens de génie qui se promènent sur cette planète. Outre de meilleurs PC capables de restituer plus de polygones et de plus grandes textures, il existe des inventions ingénieuses, conçues comme des cartes normales, qui peuvent animer la lumière / les ombres sur un polygone plat à un prix très avantageux, donnant à un objet 3D ennuyeux un aspect extraordinairement détaillé.

Certains de ces effets coûteux qui font que les films ont cette touche supplémentaire.

  • La lumière rebondit. Dans la vie réelle, la lumière rebondit jusqu'à ce qu'elle soit complètement absorbée par les surfaces sur lesquelles elle a rebondi. Des calculs doivent être effectués pour chaque source de lumière. Essayez de tenir un objet de couleur à côté d'un morceau de papier blanc, vous verrez la couleur saigner sur le papier.
  • Les jeux ont de strictes limitations sur la quantité de polygones utilisés, les films de pré-générateurs n'ont pas ces limitations, le temps de rendu est plus long. De retour à la lumière qui rebondit, si nous avons plus de polygones, il y a plus de calculs de lumière pour des images encore meilleures, mais au détriment d'un coût croissant de façon exponentielle.
  • Taille de la texture, les cartes graphiques ne peuvent contenir qu'une certaine quantité de données et leur commutation coûte cher. Une texture commune de 1024x1024, incluant toutes les cartes de shader, pourrait facilement prendre quelques pourcentages de votre carte GFX de 1 Go. Lorsque la carte doit changer de données, cela a un coût. Évidemment, nous ne nous soucions pas beaucoup de cela lorsque nous produisons un film. En outre, dans un film, nous avons simplement besoin de textures haute résolution à proximité de la caméra, pour un jeu que nous voulons, pour chaque objet que le joueur peut approcher.
  • La recherche de chemin est très exigeante pour le processeur. Les algorithmes de recherche de chemin, par exemple, permettent aux ennemis de trouver des itinéraires vers vous ou obligent votre joueur à suivre un chemin lorsque vous cliquez quelque part. Cette trajectoire peut être coûteuse, quand il y a 10000 points de cheminement (ce qui correspond à chaque mètre carré sur une carte de 100 mx 100 m), alors il est possible que nous ayons à traverser tous ces points de cheminement plusieurs fois sur une seule image. Il y a beaucoup de façons de faire cela moins cher en fonction des besoins, mais le fait est que nous n'en avons pas besoin pour les scènes prérendues.

Pour résumer, nous devons proposer des astuces "bon marché" pour rendre un jeu beau. Mais l'œil humain est difficile à tromper.

Madmenyo
la source