Quelqu'un connaît-il de bons exemples de 3D truqué en 2D (pas nécessairement du code, mais des jeux que je pourrais rechercher)? Le joueur a la perspective qu'ils vont «dans» l'écran et que des choses leur arrivent. Pour le moment, je redimensionne simplement les ennemis 2D pour donner l'illusion qu'ils se rapprochent, mais cela semble toujours assez plat. Y a-t-il des conseils sur la façon de lui donner plus d'illusion 3D sans utiliser réellement un moteur 3D?
Edit : Je suis juste tombé sur le terme «Mode7» et cette vidéo qui montre à peu près ce que j'essaie de comprendre. (surtout les matchs à 0:13 et 1:03). Quelle est une bonne façon de mettre en œuvre quelque chose comme ça?
Réponses:
Un de mes jeux d'arcade classiques préférés est également arrivé à faire de la fausse 3D: Space Harrier
Dans cette vidéo, vous pouvez voir quelques astuces qu'ils ont utilisées, mais l'un des effets visuels les plus efficaces est si transparent que vous ne le remarquerez peut-être même pas: lorsque le joueur (ou surtout la caméra) se déplace, il utilise la parallaxe pour donner des objets à la scène une sensation de profondeur.
Autrement dit, les objets les plus proches se déplacent d'un côté à l'autre plus rapidement que les objets distants. L'exemple classique de la parallaxe regarde par la fenêtre d'une voiture en mouvement: des choses à proximité comme des panneaux de signalisation défilent dans un flou, les arbres se déplacent plus lentement plus lentement, tandis que des choses lointaines comme des montagnes semblent à peine bouger.
De plus, les objets ne sont pas mis à l'échelle de façon linéaire à mesure qu'ils se rapprochent. C'est-à-dire que les objets ne se mettent à l'échelle que peu de temps et se développent plus rapidement lorsqu'ils sont proches; une mise à l'échelle linéaire serait si elles évoluent au même rythme tout le temps. Vous dites que vous redimensionnez déjà vos objets à mesure qu'ils se rapprochent, mais vous pouvez les redimensionner linéairement et cela semble plat.
ADDITION: Afterburner est un autre jeu d'arcade classique qui a utilisé beaucoup des mêmes astuces graphiques.
la source
La plupart de ces jeux utilisent les fameux trucs "Mode 7". C'est juste un rotozoom. Cette opération a été effectuée par coprocesseur sur console, donc elle était très rapide sur ces matériels. Les opérations réelles en 3D étaient trop coûteuses. Mais avec du matériel réel, il est plus facile de simuler avec de la vraie 3D.
Un rotozoom est une rotation et un zoom sur un sprite. Regardez cette explication ou cette implémentation SDL .
Recherchez sur google "MODE-7 floormap" pour trouver des exemples et du code.
F-Zero Mode 7 a été l'un des premiers jeux à l'utiliser sur SNES.
la source
J'ai trouvé une revue fantastique de ces techniques, avec des exemples et des explications, il y a plusieurs années. Votre question m'a poussé à le rechercher à nouveau: Pseudo 3d Page de Lou . Il avait un moteur Outrun fonctionnel mais l'a supprimé pour une raison quelconque ( la Wayback Machine si votre ami ici )
Pour répondre à votre question, voici une liste des jeux de sa page:
Encore une fois, pas ma liste - tout le mérite devrait revenir à Louis Gorenfeld pour ses formidables recherches.
la source
Tous les jeux en 3D sont de faux 3d: P je plaisante, je sais ce que tu veux dire par «faux 3d» ..
Eh bien, le 8 / 16bit a plusieurs exemples d'une technique très courante de présentation de l'arrière-plan en couches se déplaçant avec des vitesses différentes, pour imiter la parallaxe. Il était également très courant de voir ... en fait, il est plus facile de regarder n'importe quel jeu de course conçu pour ces consoles que d'expliquer, ce qui, je crois, est ce que vous essayez de faire.
Je vois de nouvelles choses dans le même esprit apparaître dans le scénario flash. Jetez un oeil à Missile Game 3d .
Je ne sais pas quel chemin vous êtes prêt à prendre pour obtenir cet effet, mais il semble que vous suggérez que vous avez commencé la programmation et avez accès aux graphiques (une API, peut-être?). Il s'agit donc simplement de trouver les bons paramètres pour le mouvement à travers l'écran et l'échelle en fonction du temps. Je ne pense pas que vous allez trouver des équations spécifiques pour cela, car cela dépendra probablement fortement de la situation spécifique de votre jeu (la vitesse habituelle, la course, les avions, les tunnels, etc.) Les essais et erreurs que vous faites déjà est votre meilleur pari, pour trouver l'échelle des fonctions et la trajectoire sur l'écran en fonction du temps.
la source
Jazz Jackrabbit et les anciens jeux Sonic avaient ces mondes bonus qui étaient pseudo 3d.
la source