Pourquoi les anciens jeux 3D avaient-ils des graphismes «nerveux»? [fermé]

15

J'ai joué à "MediEvil" , ces derniers temps, et je me suis demandé: qu'est-ce qui fait que certains des anciens jeux 3D ont des graphismes "fluides" lorsqu'ils se déplacent? Il est présent dans des jeux comme "Final Fantasy VII" , "MediEvil" , et je me souviens que "Dungeon Keeper 2" avait la même chose en mode zoom. Cependant, des exemples comme "Quake 2" n'avaient pas ce "problème", et il est tout aussi ancien. La résolution ne semble pas être le problème, tout est rendu parfaitement bien lorsque vous vous tenez immobile. Le jeu est-il rafraîchissant lentement ou est-ce lié à la mise en mémoire tampon?

dreta
la source
5
Pouvez-vous créer un lien vers une vidéo qui montre l'effet dont vous parlez?
John Calsbeek
1
youtube.com/watch?v=H-M6EPgs1JY&t=1m20s par exemple, chaque fois que la caméra bouge, l'écran devient fou, ça a l'air bizarre, le PS ne semble pas avoir de problèmes pour générer une ligne droite, donc je ne pense pas c'est juste une pixellisation
dreta
1
Je ne vois rien ... peut-être étais-je tellement habitué à jouer à l'époque que je ne remarque pas les problèmes. Mais ma première pensée a été que vous voyiez peut-être la transformation de texture affine mentionnée dans la réponse de Mike, ce qui peut faire que les choses semblent s'étirer étrangement en fonction de l'angle de vue.
Kylotan
@Kylotan, c'est particulièrement visible dans les mouvements de caméra plus lents (par exemple, environ 16 min dans le lien YouTube de dreta, vous devriez le remarquer dans le sol et les murs.) Je suppose que c'est pourquoi les jeux PS avaient des caméras si rapides dans presque tous les jeux :)
kaoD
1
Je vote pour fermer cette question comme hors sujet, car elle demande pourquoi un large éventail de jeux vidéo a agi de la même manière. Ces questions sont généralement hors sujet, du moins maintenant, car elles reposent sur des spéculations sur la façon dont les développeurs ont réellement fait ce qu'ils font. Nous pouvons souvent améliorer ces questions en révisant "comment faire cela dans mon propre jeu", mais cela ne semble pas être l'intention réelle, ici.
Gnemlock

Réponses:

27

Je n'ai que les citations les plus bizarres pour cela, mais il apparaît sur la PlayStation originale, l'unité vectorielle (qui était généralement utilisée pour transformer les sommets) était capable d'opérations à virgule fixe, et le rasterizer utilisait également des mathématiques à virgule fixe, mais seuls des entiers ont pu être passés entre les deux. Vous voyez donc des artefacts de quantification: les coins des polygones sont accrochés au point de grille le plus proche. Parfaitement stable pour une scène immobile, mais assez déconcertant en mouvement.

D'après un peu de recherche supplémentaire, il apparaît que la PlayStation originale avait différentes résolutions auxquelles le rasterizer pouvait fonctionner, de 256x224 à 740x480. Vous pouvez donc choisir des résolutions plus faibles pour obtenir un meilleur taux de remplissage, mais vous verriez ce genre d'artefacts, car la grille à basse résolution est suffisamment grossière pour être facilement détectée à l'œil nu.

John Calsbeek
la source
IIRC sur PC (pour les animations maillées), il y a eu quelques problèmes (assez récemment en fait, corrigés autour de 2000-2005) avec les calculs en virgule flottante sur le GPU - je ne me souviens pas du problème exact, mais cela s'est traduit par " déconcertantes "animations de personnages. Je me souviens que Star Wars The Phantom Menace a présenté ce comportement de manière assez drastique.
Jonathan Dickinson
@JonathanDickinson Vous ne pensez pas à l'effet "enveloppe de bonbons" sur les articulations, n'est-ce pas? isg.cs.tcd.ie/projects/DualQuaternions
John Calsbeek
Non, ce sont des inexactitudes qui se sont produites pour des raisons dont je ne me souviens plus.
Jonathan Dickinson
9

Si vous jouez à Quake 2 en mode logiciel, il présente en fait certains des problèmes que vous mentionnez. Si vous regardez des modèles certian sous des angles aigus dans Quake 2, vous verrez des textures de "natation". En effet, de nombreux premiers moteurs 3D utilisaient la cartographie de texture affine . Cela vous évite la division coûteuse par pixel qui vous donne un mappage de texture correct en perspective, mais cela signifie que vos textures se déformeront lorsqu'elles seront vues sous des angles vifs.

En outre, de nombreux jeux 3D antérieurs (y compris Quake 2) utilisaient le morphing simple des sommets pour animer leurs modèles par opposition à l'animation squelettique. Les sommets sont interpolés entre les images clés avec interpolation linéaire. Naturellement, cela ne préserve pas très bien les distances entre les sommets, vous vous retrouvez donc avec le syndrome du vertex gélifié - les modèles bougent un peu en s'animant!

Mike Welsh
la source
2
Correct, et la résolution des mailles n'était que de 256x256, donc le mouvement des sommets interpolés en lignes non droites. Un peu comme essayer de dessiner une balançoire d'épée animée en douceur dans le pixel art.
Myrddin Emrys
Oui, le format MD2 n'avait qu'un seul 3 octets / sommet.
Tili
1
Quake 2 a effectivement fait un mappage de texture correct en perspective, mais seulement corrigé tous les 16 (ou 8 via une option utilisateur) pixels.
Maximus Minimus
1
Pour que cela soit correct pour les déclarations sur Q2: Quake 2 utilise un mappage txt correct en perspective pour la géométrie de niveau (interpolation linéaire tous les 16 pixels corrects calculés) et un mappage de texte affiné pour les objets mobiles
Peter Parker