ЖР001. Создание тайла

Журнал разработчика. Запись 1. Сегодня определимся с макетом тайла.

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

Тайл перекресток. Тип дороги асфальт.
Тайл перекресток. Тип дороги асфальт.

Рассмотрим пока тайлы с дорогой одного типа.

Виды тайлов
Виды тайлов

Вот все возможные базовые тайлы. Можно еще придумать тайлы с дорогами непересекающиеся на одном участке (мост или два L образных) также дома с несколькими выходами, но оставим на «задачу со звездочкой».

Сделать тайлы плоскими скучно. Хочется создать рельеф и добавить элементы декора (камни, деревья). Для создания рельефных краев, нужно создать правила симметрии.

Тайл типа Х
Тайл типа Х

Для тайла перекрестка (тип Х) все просто все симметрия идет по всем краям и по диагонали. А вот если у тайла разные грани, то симметрия интереснее.

Тайл типа Т
Тайл типа Т

У тайла типа Т две симметрии (красные и синие точки). можно отобразить этот тайл разрезав по диагоналям.

Тайл типа Т, разрезанный на диагонали
Тайл типа Т, разрезанный на диагонали

И вот теперь уже становится понятнее как собрать тайл. можно определить алгоритм:

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

2. отображаем его зеркально относительно оси

3. вращаем его на 90° * номер грани

4. сшиваем 4 полученных куска в один меш

Зона внутри тайла может быть уникальной
Зона внутри тайла может быть уникальной

5. зону внутри тайла можно сделать уникальной

Зона внутри тайла может быть уникальной
Зона внутри тайла может быть уникальной

Пока нарисовали тайлы руками в Maya, но планируется создать генератор в Houdini и сделать по несколько вариантов для каждого тайла

Все тайлы
Все тайлы
Пример Игрового поля
Пример Игрового поля

В следующем посту загрузим тайлы в движок и создадим простую механику по размещению тайлов на поле (как на последнем рисунке)

11
Начать дискуссию