Тайловая графика

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
SuperTux. Хорошо заметны тайлы — повторяющиеся фрагменты изображения.
Warcraft II. Пеньки в правом нижнем углу — это один тайл, вдвое меньший, чем зелёная рамка. Плотность пней просчитана настолько хорошо, что повторы заметны только при тщательном рассмотрении. Кроме того, монотонность разбивают тёмные пятна на траве и хаотически разбросанные камушки. Переходных тайлов между пнями и травой нет (но между светлым и тёмным или между лесом и травой, естественно, есть).

Тайловая, плиточная или знакоместная графика (от англ. tile — плитка) — метод создания больших изображений (как правило, уровней в компьютерных играх) из маленьких фрагментов одинаковых размеров, подобно картинам из изразцов.

Принцип действия[править | править код]

Аналогично палитре цветов тайловое изображение состоит из двух частей: набора тайлов и матрицы клеток.

Тайлы — небольшие изображения одинаковых размеров, служащие фрагментами большой картины. Количество тайлов на один «мир» может достигать нескольких сотен. Матрица клеток при этом хранит только номера тайлов, за счет чего достигается экономия памяти при построении огромных двухмерных пространств.

Тайловая графика является идеологическим наследником «знакоместной графики», при которой большое изображение строится из букв, знаков, цифр и пользовательских символов изменяемых шрифтов.

Монотонность и способы ее снижения[править | править код]

Для тайловой графики зачастую характерна монотонность из-за наличия повторяющихся элементов. Для борьбы с монотонностью применяются различные приемы:

  • Добавление переходных участков, сглаживающих резкие переходы между областями с различной оптической плотностью. Сравните SuperTux и WarCraft II на рисунках справа.
  • Использование нескольких вариаций одного тайла с отличающимся рисунком. Тайлы располагают хаотически, чтобы замаскировать порядок (хорошо заметно в WarCraft II).
  • Наложение нескольких тайловых слоев, в том числе с отличающимися размерами тайлов, особенно в современных играх.
  • Добавление элементов, притягивающих взгляд — программно они могут быть реализованы как тайлы основного или дополнительного слоев (WarCraft II), так и в виде отдельных спрайтов (StarCraft).
  • Выбор локации, подразумевающей использование повторяющихся элементов: например, свежеотремонтированный склад в действительности часто заполнен стандартными контейнерами и поэтому может состоять из одинаковых тайлов (Saboteur!). Но и в данном случае разработчики стараются визуально разнообразить игру, добавляя уникальные элементы: тельфер, пульт, смена склада туннелем или машинным залом

Монотонность может умышленно подчеркиваться, чтобы больше соответствовать ностальгическому стилю игр прошлого.

Иногда необходимость применения тайловой графики вызвана клеточной механикой самой игры (Boulder Dash, Super Mario Bros., большинство roguelike). Например, клетка с кирпичами непроходима, клетка с потрескавшимися кирпичами пробивается, и т. д.; зачастую передвижения персонажа в таких играх ограничиваются клеточной решёткой. В данном случае внесение заметных изменений в изображение клеток одного типа может запутать игрока.

Тайловые редакторы[править | править код]

Существуют программы для создания тайл-изображений — тайловые редакторы, такие, как Tiled.

Для упрощения работы продвинутые редакторы предоставляют различные средства автоматизации: копирование-вставку, штамп (устанавливает заранее определённую комбинацию тайлов), «умную кисть», автоматически расставляющую переходные тайлы. В частности, в редакторах WarCraft II и StarCraft отсутствует инструмент для рисования отдельных тайлов.

Изометрические тайлы[править | править код]

В некоторых играх (X-COM: UFO Defense) применяются тайлы для построения изометрической проекции.

Несмотря на изометрический вид, тайлы в StarCraft традиционные квадратные.

Тайл — элемент разбиения[править | править код]

Также тайлами иногда называют блоки или квадраты, которые служат элементами стриминга или применяются для оптимизации по когерентности.

Разбиение на квадраты в целях стриминга применяется в играх с огромными открытыми пространствами (Microsoft Train Simulator), а также для создания интерактивных карт (могут содержать векторные данные, космические снимки, матрицы высот, тематические карты, объекты мониторинга и другую информацию).

Блоки разбиения применяются практически во всех трёхмерных рендерерах — для лучшей работы текстурного кэша.

Ссылки[править | править код]