Режим 7 - Mode 7

Снимок экрана базовой демонстрации Super NES с использованием этого графического эффекта

Режим 7 - это графический режим на игровой консоли Super NES, который позволяет вращать и масштабировать фоновый слой по строкам сканирования для создания множества различных эффектов. Самый известный из этих эффектов - применение эффекта перспективы к фоновому слою путем масштабирования и поворота фонового слоя таким образом. Это преобразует фоновый слой в двухмерную горизонтальную плоскость с отображением текстуры, в которой высота меняется на глубину. Таким образом достигается впечатление трехмерной графики.

Mode 7 был одним из выдающихся аргументов Nintendo в отношении платформы Super NES в таких публикациях, как Nintendo Power и Super NES Player's Guide . Подобные методы искусственного 3D были представлены в нескольких 2D-системах, отличных от Super NES, в некоторых периферийных устройствах и играх.

Функция

Консоль Super NES имеет восемь графических режимов, пронумерованных от 0 до 7, для отображения фоновых слоев. Последний (фоновый режим 7) имеет единственный слой, который можно масштабировать и вращать. Этот графический метод подходит для гоночных игр и широко используется для других разделов ролевых игр, таких как популярная игра Final Fantasy VI 1994 года от Square . Эффект позволяет разработчикам создать впечатление огромных миров, продолжающихся к горизонту.

Особый метод использования с Mode 7 позволяет пикселям фонового слоя располагаться перед спрайтами. Примеры включают в себя второй и пятый этап Contra III: The Alien Wars , второй и пятый этап Jim Power: The Lost Dimension в 3-D , вводный экран Tiny Toon Adventures: Buster Busts Loose , когда игрок падает с этап в Super Mario Kart , некоторые ролики в Super Metroid и некоторые битвы с боссами в Super Mario World .

Формула

Графика режима 7 генерируется для каждого пикселя путем сопоставления координаты экрана с координатой фона с использованием аффинного преобразования и выборки соответствующего цвета фона. Двухмерное аффинное преобразование задается для каждой строки развертки 6 параметрами; , , , И определить матрицу , в то время как и определить вектор находит начало преобразования матрицы и связан с вектором перевода. В частности, координата экрана переводится в исходную систему координат, применяется матрица, и для получения результат переводится обратно в исходную систему координат . В двумерной матричной записи это записывается как

.

Вся арифметика выполняется для 16-битных чисел с фиксированной запятой со знаком, а все смещения ограничены 13 битами. Точка системы счисления находится между битами 7 и 8.

Двумерные аффинные преобразования могут производить любую комбинацию перемещения , масштабирования , отражения , вращения и сдвига - и ничего больше. Однако многие игры создают дополнительные эффекты, устанавливая разные матрицы преобразования для каждой строки развертки. Таким образом могут быть достигнуты эффекты псевдоперспективы, криволинейной поверхности и искажения.

Пределы

Режим 7 может работать только с фонами, но не со спрайтами; поэтому любой объект, который не вращается или не масштабируется вместе с фоном, должен быть спрайтом, даже элементы, которые обычно считаются частью фона, например фиксированные платформы. Разработчик игры должен создать спрайт с таким же внешним видом, что и этот объект. Например, в Super Castlevania IV битвы, в которых вращается большой босс, такой как Коранот, имеют мобильного босса, реализованного в качестве фона, а блоки, на которых стоит главный герой, являются спрайтами. С очевидными улучшениями это похоже на то, как в некоторых играх для NES есть битвы с гигантским подвижным боссом без замедления и мерцания, присущих большому набору спрайтов, - босс становится фоном, а затем перемещается и анимируется. Примеры обеих систем могут применяться только к объектам в горизонтальной плоскости движущегося объекта. Например, пол, потолок или табло могут оставаться частью фона как в примерах NES, так и в SNES, если они полностью находятся «над» или «под» полем игрового процесса. Их также можно превратить в спрайты, если нужен весь экран, но это может вызвать замедление.

Тот факт, что Mode 7 не может использоваться на спрайтах, означает, что каждый «размер» «приближающегося» спрайта на заданном расстоянии должен быть предварительно отрисован, что означает, что спрайты «прыгают» между ограниченным количеством размеров, когда: приближаясь к ним. Это можно увидеть в Super Mario Kart и HyperZone всякий раз, когда объект приближается, или когда вы идете вертикально по карте Final Fantasy VI с дирижаблем в поле зрения.

Точно так же появление вращений спрайтов должно обрабатываться посредством предварительного рисования, если они не выполняются с помощью оборудования, включенного в игровой картридж, такого как чип Super FX 2, как в Super Mario World 2: Yoshi's Island . Примечательный обходной путь существует, и его можно увидеть в Contra III: The Alien Wars во второй битве с боссом и в Super Mario World в битвах против Резнора (поддержка стены платформы), Игги (боевая платформа), Ларри (также платформа). , Мортон, Людвиг, Рой и Баузер. В этих примерах босс является «фоном» и, следовательно, вращается в Режиме 7, а табло, которое находится «над» полем игры, также является фоном, но на полу битвы есть трещины, как и в случае с игроками и стрельба, «спрайты», которые перерисовываются при различных вращениях по мере вращения игрока. Однако это позволяет одновременно манипулировать только одним «спрайтом».

Единственное исключение из эффектов, подобных режиму 7, на спрайтах, не обрабатываемых ни предварительной отрисовкой, ни внешними чипами, встречается в Tales of Phantasia и Star Ocean , где повторный рендеринг спрайтов на лету полностью выполняется программным обеспечением. В Tales of Phantasia спрайт игрока вертикально растягивается при переходе к месту сохранения, а в Star Ocean предметы сдавливаются, когда выскакивают из открытого сундука с сокровищами. Из-за дополнительных плиток, необходимых для такого рендеринга, и других высоких требований к системе в этих играх (как с использованием формы потокового аудио, чтобы обойти ограниченную емкость SPC700 , так и, как и в большинстве высокопроизводительных RPG SNES, с использованием шрифта переменной ширины ), такой рендеринг ограничивался этими несколькими сценами.

Mega Drive / Genesis не имеет аппаратной родной функции , сравнимую с Mode 7, хотя Mega CD / Sega CD и 32X периферийные устройства добавить такую функцию. Однако, как и в Сказок Phantasia и Star Ocean ' s спрайтов эффект надстроек, некоторые сопоставимые технические подвиги были запрограммированы полностью в программном обеспечении, видели в таких играх, как Дик Витале „Удивительный, Baby!“ Колледж-обручи и нулевая толерантность .

Хотя в Amiga нет аппаратной функции, сравнимой с Mode 7, в некоторых из ее игр используются программные приемы, напоминающие эффекты Mode 7 - например, в Mr. Nutz: Hoppin 'Mad , Lionheart , Obitus и Brian the Lion. .

Аппаратное обеспечение

Два чипа PPU ( блок обработки изображений ) SNES используют два 8- битных 32- килобайтных чипа RAM. Один PPU может получить доступ к тайловой карте (128 × 128 тайлов), а другой PPU может получить доступ к набору тайлов (256 тайлов, 8 × 8 пикселей в 256 цветах) за один цикл.

Подборка игр, в которых используется режим 7

Игры Mode 7 включают названия

Позже визуальные эффекты были повторно реализованы другими способами в воплощениях Game Boy Advance многих из этих игр.

использованная литература