Pull to refresh

Comments 12

Многовато видов тайлов получается. Для 10 видов поверхностей понадобится 100 000 видов.
Можно разбить тайл на 4 треугольника. Тогда понадобится только до 400 видов.

Действительно многовато.
Я когда-то делал что-то подобное, но немного другим способом.
У меня тайлы были немного больше сетки, учитывал соседей только однотипных тайлов, без комбинаций типа «вода-трава» и тому подобное. Просто я послойно отрисовывал каждый тип тайла: сначала вода, затем песок, трава, горы, деревья и т.д. Получался неплохой результат и количество заранее заготовленных тайлов не такое большое.
А что мешает просто делать выпуклые (в смысле с рельефом, немного выходящим за габариты тайла) тайлы и обрабатывать их по отдельности предварительно сортируя по заполненности. Т.е. сначала рисуем воду которая заменяет воздух, а потом камни с просветами. Чем заполнены просветы нам уже не принципиально. Лес реже травы и рисуется так же поверх неё. И не надо иметь 100500 тайлов.
А вообще задача напоминает Wang Tile(не соображу сходу как обозвать понятнее)
Что бы не плодились лишние тайлы обычно используют «переходный тип земли». То есть что бы свести вместе «землю», «воду» и «камень» не рисуют переходные типы «земля-вода», «земля-камень» и «камень-вода», которые при добавлении какой-нибудь «пустыни» тут же должны быть дополнены целым рядом новых тайлов, а считают, что все эти типы стыкуются через некий промежуточный тип земли, и тогда достаточно иметь наборы «земля-переходный тип», «камень-переходный тип» и «вода-переходный тип», и так далее. Такой подход совершенно точно используется в WarCraft II или Heroes of Might & Magic 2

И В StarCraft (I). Там точно есть такие (дополнительные тайлы на возвышенности могут быть только в окружении базовой возвышенности).
Если вы захотите иметь большое количество тайлов вам придётся очень много рисовать.
Я когда то сделал смешивание по глубине. На каждый тип поверхности нужна одна карта цвета, и одна глубины. И вы смешиваете их кросс фейдом(cross fade). Вот как оно выглядело: twitter.com/OliverPDev/status/852152125463420928
Кстати это работает не только с тайлами. Подобную технику видел для смешивания переходных текстур в 3D. Выглядит весьма неплохо.
Да, именно почти так мы и делаем, когда генерим астероиды в Demolition Sheep :) Но у нас есть ещё один слой — слой добываемой породы, который делается более мелкими тайлами, которые строятся в точности по такому же алгоритму. В итоге получается красиво
а можно будет потом показать примеры таких платформеров, которые используют такую систему?
Sign up to leave a comment.

Articles