Приклади підроблених 3D


17

Хтось знає про хороші приклади того, що 3D підробляються у 2D (не обов'язково код, але ігри, які я міг би шукати)? Гравець має перспективу, що вони виходять на екран, і на них все виходить. На даний момент я просто масштабую 2D ворогів, щоб дати ілюзію, що вони наближаються, але це все ще відчувається досить рівно. Чи є поради, як надати їй більше 3D-ілюзії, не використовуючи насправді 3D-двигун?

Редагувати : Щойно я натрапив на термін "Mode7" і це відео, яке показує майже все, що я намагаюся з'ясувати. (особливо ігри в 0:13 та 1:03). Який хороший спосіб здійснити щось подібне?


1
Багато комп'ютерних ігор до середини 90-х «підробляли» 3d, і майже всі консольні ігри до епохи п’ятого покоління (Playstation / N64) робили. Це може допомогти уточнити, що ви зараз робите зі скріншотом або чимось…
thedaian

1
Я оновив публікацію, щойно знайшов відео.
XSL

2
Усі 3D в комп’ютерних іграх підроблені 3D. Нічого з цього матеріалу насправді не існує! (Я маю на увазі це в тому сенсі, що будь-яке «підроблення» 3D в грі є лише родичем того, що ви думаєте, як «справжнього». Mode7 - це лише середнє місце між ними.
Така

Відповіді:


13

Одна з моїх улюблених класичних аркадних ігор також трапилася підробляти 3D: Space Harrier

У цьому відео ви можете побачити кілька хитрощів, якими вони користувалися, але один з найефективніших візуальних ефектів настільки безпроблемний, що ви навіть не можете помітити, що це відбувається: коли плеєр (або що важливо камера) рухається, вони використовують паралакс для подачі об'єктів сцена відчуття глибини.

Тобто, ближчі об’єкти рухаються стороною в бік швидше, ніж віддалені об’єкти. Класичний приклад паралакса - це дивитись у вікно автомобіля, що рухається: поблизу речі, як дорожні знаки, розтушовуються, дерева далі рухаються повільніше, тоді як далекі речі, такі як гори, ледве рухаються.

Крім того, об’єкти не масштабуються лінійно, коли вони наближаються. Тобто об’єкти лише наближаються трохи далеко та збільшуються швидше, коли близькі; лінійне масштабування було б, якщо вони збільшуються з однаковою швидкістю весь час. Ви кажете, що вже масштабуєте об'єкти, коли вони наближаються, але ви можете їх масштабувати лінійно, і це виглядає рівномірно.

ДОПОЛНЕННЯ: Afterburner - ще одна класична аркадна гра, яка використовувала безліч тих самих графічних хитрощів.


1
Тіні також є дуже важливою частиною того, щоб зробити речі "3D". Залежно від стилю гри це може бути чи не так просто зробити, чи може ваш герой кинути тінь на землю чи ваш корабель достатньо великий, щоб кинути тінь на планету? Це загальне поняття, що стоїть за шиною або нормальним відображенням. (Не пропонуючи це зробити, як найкращий приклад) Тінь вашого персонажа, що переходить над деревом трохи на задньому плані, але не на відстані пагорба вдалині, просто може додати край, який ви шукаєте.
Джеймс

6

Більшість цих ігор використовують знамениті трюки "Mode 7". Це просто ротозум. Цю операцію робив копроцесор на консолі, тому це було дуже швидко на цих апаратних засобах. Справжні 3d операції були надто дорогими. Але з реальним обладнанням їх легше моделювати за допомогою справжнього 3D.

Ротозум - це обертання і масштабування спрайта. Подивіться це пояснення або цю реалізацію SDL .

Шукайте в Google "MODE-7 повна карта", щоб знайти зразки та код.

F-Zero Mode 7 була однією з перших ігор, яка використовувала його на snes.


5

Я знайшов фантастичний огляд цих методів, із прикладами та поясненнями, кілька років тому. Ваше запитання підштовхнуло мене до пошуку ще раз: Псевдо 3d-сторінка Лу . У нього був працюючий двигун Outrun, але його чомусь видалили ( машина Wayback, якщо ваш друг тут )

Щоб відповісти на ваше запитання, ось список ігор з його сторінки:

  • Street Fighter II (аркада) ("растрові ефекти" на доджої підлозі)
  • Випередження (аркада)
  • Космічний Хар'єр (аркада)
  • Супер вішання (аркада)
  • Ендуро (Atari 2600)
  • Позиція на полюсі (аркада, Atari 2600)
  • Дорожній виїзд (3DO)
  • Дрифт потужності (аркада)
  • Сила Рацина (аркада)
  • Гідра (аркада)
  • Вигнання (аркада)
  • Турбо (аркада)
  • Hunter II (аркада)
  • Pitstop II (Commodore 64)
  • Enduro Racer (аркада)
  • Лотос (Commodore Amiga)
  • Тест-драйв II (Commodore Amiga?)
  • Швидкий баггі

Знову ж таки, не в моєму списку - вся заслуга повинна бути приділена Луї Горенфельду за його приголомшливі дослідження.


4

Усі 3D ігри підроблені 3d: P Я жартую, я знаю, що ви маєте на увазі під «підробкою 3d».

Ну, 8/16 біт має кілька прикладів дуже поширеної техніки подання фону в шарах, що рухаються з різною швидкістю, щоб імітувати паралакс. Це також було дуже часто бачити .. насправді, легше просто подивитися на будь-яку гоночну гру, зроблену для цих консолей, ніж пояснювати, що, я вважаю, це те, що ви намагаєтеся зробити.

Я бачу нові сценарії в тому ж дусі, що з'являються за сценарієм спалаху. Погляньте на ракетну гру 3d .

Я не знаю, який шлях ви готові пройти, щоб досягти цього ефекту, але, здається, ви припускаєте, що ви почали якесь програмування і маєте доступ до графіки (API, можливо?). Тож лише питання пошуку правильних параметрів для переміщення по екрану та масштабу як функції часу. Я не думаю, що ви збираєтесь знайти для цього конкретні рівняння, оскільки це, ймовірно, буде сильно залежати від конкретної ситуації вашої гри (звичайна швидкість, гонки, літаки, тунелі тощо). Проб і помилки, які ви вже робите найкраща ставка для пошуку шкали функцій та траєкторії на екрані залежно від часу.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.