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

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

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

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

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

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

По своей организации такая графическая система полностью аналогична системе отображения текста с перепрограммируемым знакогенератором. Поэтому такая графическая система носила ещё название «знакоместная графика».

Монотонность и как её обходят[править | править вики-текст]

Проблема тайловой графики в её монотонности: глаз легко замечает повторяющиеся элементы. С монотонностью борются так:

  • «Умно» режут рисунок на тайлы, предусматривая переходные тайлы между разными поверхностями и не допуская в пределах одного тайла областей с сильно различающейся оптической плотностью. Сравните SuperTux и WarCraft II на рисунках справа.
  • Делают несколько тайлов одного и того же, с немного различающимся рисунком. Тайлы располагают хаотически, чтобы глаз не мог заметить какой-либо порядок (хорошо заметно в WarCraft II).
  • Делают различные украшения, притягивающие взгляд — физически они могут быть реализованы как тайлы (WarCraft II), как дополнительные тайловые слои поверх основного ([уточнить]) или как спрайты (StarCraft).
  • «Обосновывают» монотонность клеточной механикой (Boulder Dash, Super Mario Bros., большинство roguelike). Клетка с кирпичами непроходима, клетка с потрескавшимися кирпичами пробивается, и т. д.; зачастую передвижения персонажа в таких играх ограничиваются клеточной решёткой.
  • «Обосновывают» монотонность графическим стилем: например, вполне естественно, что свежеотремонтированный склад, заполненный стандартными контейнерами, будет состоять из совершенно одинаковых тайлов (Saboteur!). Хотя и там стараются разнообразить игру: то попадётся тельфер, то пульт, то склад сменится туннелем или машинным залом

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

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

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

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

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

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

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

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

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

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

Ссылки[править | править вики-текст]