Тайлмапы
Система тайлмапа позволяет рисовать миры на основе тайлов с использованием масок автотайлинга, нескольких слоёв и выдавливания стен с встроенным генератором коллизий.
Добавление тайлмапа
Добавить Tilemap_Component к любой сущности. Тайлмап центрируется на позиции сущности и охватывает сетку чанков (каждый 32×32 тайла). Общий размер в тайлах равен width_in_chunks × 32 на height_in_chunks × 32.
Свойства тайлмапа
Ширина / Высота в чанках
Размер сетки тайлов. Каждый чанк — 32×32 тайла. Тайлмап 10×10 даёт 320×320 тайлов.
Слои настраиваются по отдельности после входа в режим редактирования (см. ниже).
Режим редактирования
Выберите сущность с тайлмапом и нажмите Edit кнопку в инспекторе, чтобы войти в режим редактирования тайлмапа. Нажмите Cancel чтобы выйти. Режим редактирования деактивируется автоматически, если вы снимете выделение с сущности.
В режиме редактирования красная рамка обводит границы тайлмапа, а в окне сцены рисуется наложенная сетка.
Инструменты
Редактор тайлмапа имеет три режима инструментов, переключаемых горячими клавишами:
Кисть
B/W
Рисуйте тайлы кликом и перетаскиванием.
Ластик
E
Удаляйте тайлы кликом и перетаскиванием.
Штамп
S/R
Выберите область для копирования, затем вставьте её в другое место.
Вы также можете удерживать Shift находясь в режиме Кисти, чтобы временно стирать.
Рисование кистью
Кликайте и перетаскивайте, чтобы рисовать тайлы на выбранном слое. Кисть использует интерполяцию линии Брезенхэма между кадрами, поэтому вы не пропустите тайлы даже при быстром движении.
Размер кисти регулируется с помощью [ и ] (диапазон 1–32). Кисть круглая — затрагиваются тайлы внутри радиуса.
Alt+click рисует прямую линию от последней позиции клика до текущего тайла, полезно для длинных прямых краёв.
Ctrl+drag переключает на режим заполнения прямоугольника — тяните, чтобы задать прямоугольник, и все тайлы в области заполняются (или стираются при удержании Shift) при отпускании.
Слои
Каждый тайлмап поддерживает несколько слоёв. Нажмите на слой в инспекторе, чтобы выбрать его для рисования. Выбранный слой подсвечивается синим.
Добавление и удаление слоёв
Нажмите Add Layer внизу, чтобы создать новый слой.
Нажмите Remove Layer внутри панели слоя, чтобы удалить его.
Свойства слоя
Тип
Ground или Wall. Наземные тайлы плоские; тайлы стены выдавливаются вертикально.
Режим слоя
По умолчанию использует автоматическое распределение слоёв (земля позади игрока, стены сортируются по Y). Вручную позволяет задать фиксированное значение слоя рендера.
Ручной слой
Показывается только в ручном режиме. Явное значение слоя рендера.
Размер тайла
Визуальный размер каждого тайла в единицах мира.
Текстуры
Одна или несколько текстур с весами для рандомизированного разнообразия. Движок хеширует координаты тайлов, чтобы детерминированно выбрать текстуру для каждого тайла на основе весов.
Маска
Текстура сетки 8×8, используемая для автотайлинга. Каждая ячейка соответствует разной конфигурации соседства (края, углы, изолированные и т.д.). В комплекте есть карта по умолчанию $AO/tile_mask.png
Контур
Цвет для контуров тайлов (альфа 0 = без контура).
Множество текстур для разнообразия
Каждый слой может иметь несколько текстур с весами. Тайлы детерминированно выбирают вариант текстуры на основе хеша их координат в сетке, так что узор стабилен при сохранениях и не смещается при добавлении/удалении тайлов.
Отрегулируйте значение веса рядом с каждой текстурой, чтобы контролировать, как часто она появляется относительно других.
Авто-тайлинг
Тайлы автоматически выбирают корректную ячейку маски на основе конфигурации соседей в 8 направлениях. Система:
Проверяет все 8 соседей (N, NE, E, SE, S, SW, W, NW).
Диагональные соседи учитываются только если присутствуют оба прилегающих кардинальных соседа (предотвращает визуальные артефакты в углах).
Отображает полученную 8-битную маску соседства в одну из 64 ячеек в текстуре маски 8×8.
Это значит, что вам нужно только отмечать присутствие тайлов — правильные визуальные края, углы и внутренности вычисляются автоматически.
Слои стен
Установка типа слоя в Wall включает вертикальное выдавливание. Тайлы стен размещаются на сетке как наземные тайлы, но каждый помещённый тайл генерирует столб из тайлов тела, простирающийся вверх на Высота стены.
Свойства стены
Высота стены
Количество тайлов в высоту у каждого столбца стены (минимум 2).
Верхняя текстура
Отдельная текстура для верхнего ряда стены («крышка»).
Верхняя маска
Маска для верхней части стены (использует тот же автотайлинг по 8 соседям, что и земля).
Верхний контур
Цвет контура для верхних тайлов стены.
Тайлы тела стены используют основную текстуру слоя и отдельную маску соседей, вычисляемую в пределах владения каждой строки. Верхушки стен используют соседство базового ряда размещения, обеспечивая чистые края крышки.
Стены сортируются по Y по их базовому ряду, поэтому игроки ходят за стенами, находящимися выше них, и перед стенами, находящимися ниже.
Коллизия стен
Коллизия
Включает/отключает генерацию физической коллизии для этого слоя стен.
Внутренний отступ
Уменьшает края коллизии внутрь от границ тайлов для более плотной подгонки коллизии.
Смещение
Сдвигает все края коллизии на фиксированную величину.
Отладочный рендер
Рисует зелёные края коллизии в окне сцены для отладки.
Когда коллизия включена, движок автоматически:
Генерирует сегменты краёв вдоль открытых границ тайлов.
Объединяет коллинеарные края, чтобы минимизировать количество сегментов.
Группирует связанные края в замкнутые формы.
Создаёт во время выполнения сегментные формы Box2D (в редакторе показывается только отладочная визуализация).
Инструмент Штамп (Копировать и Вставить)
Нажмите S чтобы переключиться в режим Штампа. Это активирует рабочий процесс выбора региона:
Выбрать: Кликните и потяните, чтобы выделить прямоугольную область. Выделенные тайлы копируются в буфер обмена. Всплывающее окно «Copied» подтверждает действие.
Вставить: Нажмите
Ctrl+Vчтобы войти в режим призрака. Полупрозрачный предварительный просмотр содержимого буфера следует за курсором.Поворот: Прокрутите колесико мыши, чтобы вращать предварительный просмотр-призрак шагами по 90 градусов.
Разместить: Кликните, чтобы штамповать тайлы. Удерживайте Shift при клике, чтобы разместить несколько копий, не выходя из режима призрака.
Cancel: Нажмите
Escapeчтобы выйти из режима призрака без размещения.
Удерживайте Ctrl при начале выбора штампа, чтобы копировать тайлы со всех слоёв одновременно, сохраняя мультислойные структуры.
Краткое руководство по горячим клавишам
B
Переключиться на инструмент Кисть
E
Переключиться на инструмент Ластик
S
Переключиться на инструмент Штамп
Shift (удерживать)
Временно стирать в режиме Кисти
[ / ]
Уменьшить / увеличить размер кисти
Ctrl+drag
Заполнение прямоугольника (или стирание с Shift)
Alt+click
Нарисовать прямую линию от последнего клика
Ctrl+V
Войти в режим вставки/призрака
Колёсико прокрутки
Вращать предварительный просмотр-призрак (в режиме призрака)
Shift+клик
Разместить несколько копий (в режиме призрака)
Escape
Отменить режим призрака
Последнее обновление