Ahoy!
Я ищу некоторую информацию о картах плиток, или, скорее, как называется конкретный тип карты плиток.
Я интересуюсь реализацией, используемой в магнате с американскими горками, или серией игр про транспортных магнатов, и изучал ландшафт векторной области и карту высот, но я не уверен, что они подходят для того, к чему я стремлюсь развиваться.
Было трудно найти какую-либо приличную информацию, так как большинство людей называют ее изометрической плиткой, но я стремлюсь создать что-то в 3D с фиксированной орфографической перспективой. Я понимаю, что основное хранилище карты тайлов не имеет ничего общего с тем, как она отображается, но я не собираюсь создавать двухмерную карту тайлов, как в старых играх покемонов / зельда, в большей степени в духе Diablo с возможностью включать нависающие скалы и наклонная местность.
Я просто пытаюсь найти правильные термины для поиска в Google и stackoverflow ресурсов, которые помогут мне решить, какой путь продолжить.
До сих пор мне удавалось конкретизировать базовую карту тайлов без использования компонента height / y, который хранится в VBO и отображается как каркас. Пока все выглядит хорошо, но я предполагаю, что у меня возникнут проблемы при попытке манипулировать одной вершиной, чтобы создать скалы и уклоны, не затрагивая соседнюю плитку.
Есть ли конкретный тип реализации, который я должен изучить? Я думал, что взломал его, когда нашел изрядное количество информации о рельефе векторного поля, но я не уверен, что это также даст правильные результаты.
Если кто-нибудь может пролить свет на это для меня, пожалуйста, помощь будет принята с благодарностью :)
Обновить
Я включил изображение для дальнейшего разъяснения того, чего я хотел бы достичь:
Изображение заимствовано из Как создать наклонную (высоту) изометрическую плитку
Это изображение показывает тип местности, которую я хотел бы создать, но не включает в себя «скалы» или нависающие типы местности, которые мне интересны в моделировании. Это, однако, поднимает несколько других вопросов, которые я не рассматривал, а именно;
- Как будут обрабатываться «слои», такие как вода (вверху слева на изображении), чтобы включить видимую почву под водой?
- Как можно было бы обслужить «края» карты, чтобы земля / грязь отображались как неплоская сущность?
- Может ли базовое хранилище для этого вида местности использоваться для моделирования физики, такой как мяч, катящийся по склону, или скорости движения игрока, пересекающего склон?
У меня была идея, что каждая плитка ландшафта может быть смоделирована с 8 вершинами, где 4 основные вершины покрывают саму фактическую плитку, а оставшиеся 4 вершины используются для моделирования сторон / стенок каждой плитки. Две проблемы, которые я вижу с этой реализацией, состоят в том, что а) карта мира по существу удваивается в размере и б) учитывая, что не все плитки будут содержать "стены", некоторые плитки будут иметь избыточные вершины, которые не используются.
Я хотел бы создать редактор ландшафта, который позволяет деформировать каждую плитку, а также включать возможность изменения ландшафта во время игры. Это само по себе ставит дополнительные вопросы, такие как; Можно ли использовать VBO для хранения и рендеринга ландшафта во время его изменения на лету, а также можно ли изменять вершины, не затрагивая соседние тайлы?
У меня сложилось впечатление, что я либо слишком усложняю вещи, либо сталкиваюсь с параличом анализа, потому что я пренебрегаю написанием любого кода для решения проблемы, не имея четкого представления о том, как бы я достиг того, чего хочу.
Опять же, я просто ищу толчок в правильном направлении с этим. Существует ли какой-то конкретный тип реализации карты тайлов / ландшафта, которая бы позволяла деформировать 3D-карту как редактором карт, так и во время игры, или мне нужно, так сказать, развернуть свою собственную? Я не пытаюсь изобретать колесо здесь, но я изо всех сил пытаюсь найти какие-либо ресурсы, учитывая, что я не уверен, что искать.
Если кто-то может предоставить какую-либо информацию, ресурсы или фрагменты кода, это будет очень цениться, поскольку я стремлюсь запачкать свои руки и начать производить что-то кроме плоского каркаса, который у меня есть в настоящее время.
Спасибо за чтение!