Comments 12
Многовато видов тайлов получается. Для 10 видов поверхностей понадобится 100 000 видов.
Можно разбить тайл на 4 треугольника. Тогда понадобится только до 400 видов.
Действительно многовато.
Я когда-то делал что-то подобное, но немного другим способом.
У меня тайлы были немного больше сетки, учитывал соседей только однотипных тайлов, без комбинаций типа «вода-трава» и тому подобное. Просто я послойно отрисовывал каждый тип тайла: сначала вода, затем песок, трава, горы, деревья и т.д. Получался неплохой результат и количество заранее заготовленных тайлов не такое большое.
Я когда-то делал что-то подобное, но немного другим способом.
У меня тайлы были немного больше сетки, учитывал соседей только однотипных тайлов, без комбинаций типа «вода-трава» и тому подобное. Просто я послойно отрисовывал каждый тип тайла: сначала вода, затем песок, трава, горы, деревья и т.д. Получался неплохой результат и количество заранее заготовленных тайлов не такое большое.
А что мешает просто делать выпуклые (в смысле с рельефом, немного выходящим за габариты тайла) тайлы и обрабатывать их по отдельности предварительно сортируя по заполненности. Т.е. сначала рисуем воду которая заменяет воздух, а потом камни с просветами. Чем заполнены просветы нам уже не принципиально. Лес реже травы и рисуется так же поверх неё. И не надо иметь 100500 тайлов.
А вообще задача напоминает Wang Tile(не соображу сходу как обозвать понятнее)
А вообще задача напоминает Wang Tile(не соображу сходу как обозвать понятнее)
Wiki (Ошибся веткой.)
Покоцаный Marching Squares.
Что бы не плодились лишние тайлы обычно используют «переходный тип земли». То есть что бы свести вместе «землю», «воду» и «камень» не рисуют переходные типы «земля-вода», «земля-камень» и «камень-вода», которые при добавлении какой-нибудь «пустыни» тут же должны быть дополнены целым рядом новых тайлов, а считают, что все эти типы стыкуются через некий промежуточный тип земли, и тогда достаточно иметь наборы «земля-переходный тип», «камень-переходный тип» и «вода-переходный тип», и так далее. Такой подход совершенно точно используется в WarCraft II или Heroes of Might & Magic 2
Если вы захотите иметь большое количество тайлов вам придётся очень много рисовать.
Я когда то сделал смешивание по глубине. На каждый тип поверхности нужна одна карта цвета, и одна глубины. И вы смешиваете их кросс фейдом(cross fade). Вот как оно выглядело: twitter.com/OliverPDev/status/852152125463420928
Я когда то сделал смешивание по глубине. На каждый тип поверхности нужна одна карта цвета, и одна глубины. И вы смешиваете их кросс фейдом(cross fade). Вот как оно выглядело: twitter.com/OliverPDev/status/852152125463420928
Да, именно почти так мы и делаем, когда генерим астероиды в Demolition Sheep :) Но у нас есть ещё один слой — слой добываемой породы, который делается более мелкими тайлами, которые строятся в точности по такому же алгоритму. В итоге получается красиво
а можно будет потом показать примеры таких платформеров, которые используют такую систему?
Sign up to leave a comment.
Битовый способ отображения тайловых карт