Blender TIPS. Тайловые текстуры для создания игрового уровня а`ля платформер

Недавно мне потребовалось подобрать удобный способ редактирования игровой сцены жанра «платформер» непосредственно в Blender…

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

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

Обычно, создают следующий набор нод…

… где Mapping позволяет повторять текстуру по одной из оси в параметрах Scale.

Таким образом, процесс создания тайлового объекта выглядит так:

  • Создать плоскость нужного размера.
  • Отрегулировать соотношение и повтор текстуры с помощью Mapping.

Неудобство этого решения заключается в ручной подгонке текстуры и определенной внимательности, чтобы не изменить пропорции рисунка. Конечно, было бы здорово, если Blender умел автоматически повторять текстуру при изменении пропорций основы, но этого нет (или я не знаю).

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

Достаточно изменить выход ноды Coordinate и надобности в Mapping больше нет, а значит не нужно лишний раз лезть в редактор нод, чтобы вручную изменять параметры. Вся работа происходит во вьюпорте, что, согласитесь, проще. Да и пропорции текстуры при масштабировании объекта в этом случае не пострадают (если это все же произошло, то нужно применить масштаб <CTRL>+<A>).

Алгоритм работы следующий…

Далее, в том же режиме редактирования выделяем парные боковые вершины и тянем их по одной из оси.

Как видите, создание тайлов так выглядит проще )

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *