Кто-нибудь знает какие-нибудь хорошие примеры фальсификации 3D в 2D (не обязательно код, но игры, которые я мог бы посмотреть)? У игрока есть перспектива, что он «уходит» на экран, и на него что-то выходит. На данный момент я просто масштабирую 2D врагов, чтобы создать иллюзию, что они приближаются, но это все еще кажется довольно плоским. Есть ли какие-нибудь советы о том, как сделать 3D-иллюзию более реалистичной, не используя 3D-движок?
Изменить : только что столкнулся с термином «Mode7» и это видео, которое показывает в значительной степени то, что я пытаюсь выяснить. (особенно игры в 0:13 и 1:03). Какой хороший способ реализовать что-то вроде этого?
Ответы:
Одна из моих любимых классических аркадных игр также сделала фальшивку 3D: Space Harrier
В этом видео вы можете увидеть несколько приемов, которые они использовали, но один из наиболее эффективных визуальных эффектов настолько плавный, что вы даже можете не заметить, что это происходит: когда игрок (или, что важно, камера) движется, он использует параллакс, чтобы дать объектам На сцене ощущение глубины.
То есть более близкие объекты перемещаются из стороны в сторону быстрее, чем удаленные объекты. Классический пример параллакса - это взгляд из окна движущейся машины: находящиеся поблизости объекты, такие как дорожные знаки, проносятся мимо, деревья дальше движутся медленнее, а отдаленные предметы, такие как горы, едва ли движутся.
Кроме того, объекты не линейно масштабируются по мере приближения. То есть объекты лишь немного масштабируются, а при приближении увеличиваются быстрее; линейное масштабирование будет, если они будут увеличиваться с одинаковой скоростью все время. Вы говорите, что уже масштабируете свои объекты по мере их приближения, но вы можете масштабировать их линейно, и это выглядит плоским.
ДОПОЛНЕНИЕ: Afterburner - еще одна классическая аркадная игра, в которой используется много одинаковых графических приемов.
источник
В большинстве этих игр используются знаменитые приемы «Mode 7». Это просто ротозум. Эта операция была выполнена сопроцессором на консоли, поэтому она была очень быстрой на этом оборудовании. Реальные 3d операции были слишком дорогими. Но с фактическим оборудованием легче симулировать с реальным 3D.
Rotozoom - это вращение и увеличение спрайта. Посмотрите это объяснение или эту реализацию SDL .
Выполните поиск в Google "MODE-7 floormap", чтобы найти образцы и код.
F-Zero Mode 7 была одной из первых игр, которая использовала его на snes.
источник
Несколько лет назад я нашел фантастический обзор этих методов с примерами и объяснениями. Ваш вопрос подтолкнул меня к поиску: «Псевдо-3-я страница Лу» . Раньше у него был работающий двигатель Outrun, но по какой-то причине его сняли ( Wayback Machine, если ваш друг здесь )
Чтобы в дальнейшем ответить на ваш вопрос, вот список игр с его страницы:
Опять же, не мой список - вся заслуга должна быть за Луи Горенфельдом за его потрясающее исследование.
источник
Все 3d-игры являются поддельными 3d: P Я шучу, я знаю, что вы подразумеваете под «поддельным 3d» ..
Ну, у 8/16 бита есть несколько примеров очень распространенной техники представления фона в слоях, движущихся с разными скоростями, для имитации параллакса. Было также очень часто видеть ... на самом деле, проще взглянуть на любую гоночную игру, созданную для этих приставок, чем объяснить, что, я считаю, то, что вы пытаетесь сделать.
Я вижу некоторые новые вещи в том же духе, которые появятся в сценарии флэш. Взгляните на ракетную игру 3d .
Я не знаю, по какому пути вы хотите пойти, чтобы достичь этого эффекта, но, похоже, вы предлагаете начать программирование и иметь доступ к графике (может быть, API?). Так что это просто вопрос выбора правильных параметров движения по экрану и масштабирования в зависимости от времени. Я не думаю, что вы собираетесь найти конкретные уравнения для этого, так как это, вероятно, будет сильно зависеть от конкретной ситуации в вашей игре (обычная скорость, гонки, самолеты, туннели и т. Д.). Метод проб и ошибок, который вы уже делаете. Ваш лучший выбор для определения масштаба функций и траектории на экране относительно времени.
источник
У джаз-кролика и старых игр Sonic были те бонусные миры, которые были псевдо-3d.
источник