Найти тему
Egor.CG

Тайлы

Начнём совсем издалека.

Вся нарисованная графика в играх хранится в так называемых текстурных атласах. Обычно это большое растровое изображение, на котором максимально компактным образом размещена используемая в игре графика.

текстурный атлас игры Metroid
текстурный атлас игры Metroid

Правда обычно это не один гигантский атлас, а несколько.

И когда мы запускаем игру, её движок берёт картинки из этих самых атласов и собирает в единое целое. При чём если есть повторяющиеся изображение, например деревья или кусты, то движку не нужно пять одинаковых картинок, он может использовать их сколько угодно, ссылаясь на одно изображение в атласе.

пример использования повторяющихся изображений в Gardenscapes
пример использования повторяющихся изображений в Gardenscapes

И это очень важно, ведь огромную часть общего размера игры занимает именно графика. Никто не захочет скачивать себе на смартфон игру размером в 10 гигабайт, поэтому разработчики всеми возможными способами стараются сэкономить место в этих самых атласах.

И тут на помощь приходят пресловутые тайлы.

Если в графике есть какой-то повторяющийся паттерн, разработчики всегда стараются сделать из этого подобие конструктора

конструктор бассейна из Gardenscapes
конструктор бассейна из Gardenscapes

В принципе это уже можно назвать тайлами, но вообще tile - в переводе с английского означает "плитка". И правильнее было бы называть тайлами плоские детали конструктора поверхностей.

Как например фон в Mario
Как например фон в Mario

А когда мы говорим про изометрию, то чаще всего речь идёт о конструкторе пола, травы, паркета и тому подобного.

-6

Вместо того чтобы рисовать огромное поле травы, рисуется один маленький кусочек, который затем много раз повторяется, как паттерн.

Возникает вопрос:
какого размера должны быть эти тайлы?

Конкретного ответа нет, так как на каждом проекте размер и форма тайлов может быть индивидуальной и как правило это связано с масштабной сеткой, которая тоже может отличаться от игры к игре. Более того, сетка может отличаться не только размером но и формой.

разнообразие масштабной сетки на примере игр:
Merge Dragons!, Clash of Clans, Ultima Online, Crashlands, Homescapes
разнообразие масштабной сетки на примере игр: Merge Dragons!, Clash of Clans, Ultima Online, Crashlands, Homescapes

Но в любом случае эта сетка всегда имеет свой конкретный размер в пикселях. И занимаясь разработкой графики для конкретной игры у вас будет задан этот размер, от которого уже можно отталкиваться.

А если же вы создаёте проект для себя, то и размер тайлов можете так же установить по своему усмотрению.

Давайте попробуем нарисовать наш первый тайл.
Если составлять тайлы "стык в стык" вы наверняка столкнётесь с этим бесячим полупрозрачным швом

-8

который появляется из-за полупрозрачных пикселей на границах диагональных линий.

-9

Но существует способ как с этим справиться.

Нарисованный тайл будет вставляться в игру, условно говоря, в центр каждой ячейки масштабной сетки, независимо от размера самого тайла, будь он меньше или больше размера клетки.

-10

Это даёт нам возможность сделать тайл немного бóльшего размера (на пару пикселей) , чтобы получался "нахлёст" который скроет этот неприятный шов.

тайлы составленные с нахлёстом
тайлы составленные с нахлёстом
пример поверхности составленной из тайлов "стык в стык" и "с нахлёстом"
пример поверхности составленной из тайлов "стык в стык" и "с нахлёстом"

При создании тайлов я использую копии смартобъектов (о чём я писал в предыдущих постах), чтобы сразу видеть, на сколько хорошо всё стыкуется. Плюс такой подход помогает избежать слишком заметного паттерна. Для этого текстура должна быть равномерной плотности, без явных заметных элементов.

-13

Но полностью избавиться от паттерности, при этом сохранив разнообразие текстуры бывает сложно, поэтому часто добавляется второй слой с дополнительными текстурами.

-14

Кстати, обратите внимание на примере травы, что тайл совсем не обязательно должен иметь ровный край и быть исключительно в виде квадрата или ромба.
К слову тайлы это не только текстура горизонтальной поверхности. Стены так же обычно делаются тайлами.

-15

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

Надеюсь эта статья помогла разобраться в том, что такое тайлы, для чего они нужны и как работают. Зная основы вы самостоятельно сможете создавать свои тайлы в любых игровых условиях. Спасибо за внимание и до новых встреч!

-16