Несколько карт Tilemap загружаются динамически - PullRequest
0 голосов
/ 21 марта 2019

Не стесняйтесь закрывать этот вопрос, если он считается слишком субъективным. Я понимаю, что это вполне может быть, поскольку оно может быть сосредоточено на передовой практике, которая, если не отраслевой стандарт, может быть субъективной.


Проблема и идея:

Я использую систему tilemap в единстве (2D), и она отлично работает, но у меня есть несколько проблем относительно моего конкретного использования. Я хотел бы иметь несколько «карт сражений», которые будут созданы при переключении на сцену сражения. Моя текущая идея состоит в том, чтобы просто сделать каждый тип карты сражений префабом (сборным в сетке, поскольку карты тайлов являются просто слоями), а затем создать экземпляр сетки при загрузке сцены.

Это лучшая практика или есть какой-то лучший способ? Имеет ли значение 10 карт против 200 карт?

Другие вещи, которые я рассмотрел:

Было бы лучше сделать одну огромную карту тайлов со всеми картами сражений, оттянутыми на расстоянии друг от друга, и просто ограничить движение камеры только в пределах "текущей" карты сражений? Абсолютный максимальный размер карты, скажем, 30х20, возможно, ближе к половине этого значения.

Более ранняя идея заключалась в том, чтобы использовать небольшие карты пикселей для визуализации карт. Это было до того, как я узнал о системе плиток Unity, которую, по общему признанию, я бы предпочел использовать, поскольку ее намного проще визуализировать и меньше работать над развитием.

Сценарий:

Для простоты предположим, что в игре есть 2 сцены, главное меню и сцена битвы. По сути, идея состоит в том, чтобы выйти на сцену битвы и иметь случайную карту битвы, которая будет появляться из того, что доступно. Персонажи / персонажи размещаются, и любые дополнительные элементы также размещаются, скажем, предметы или что у вас есть.

Является ли то, что я предложил выше, лучшей практикой? И я должен рассмотреть любые другие две другие системы, которые я также описал? Или есть что-то, о чем я не думаю, что было бы еще лучше?

Я не верю, что какой-либо из вышеперечисленных способов не сработает, мне просто любопытно, является ли какой-либо из них лучшим способом сделать это.

1 Ответ

1 голос
/ 21 марта 2019

Если вы хотите, чтобы все ваши карты сражений были нарисованы на одной карте тайлов и ограничив камеру только областью текущей карты, это мгновенный красный флаг. В моем опыте с единством, если я хочу нарисовать большой уровень на сетке, мне придется разбить его на куски (каждый кусок - это отдельная карта тайлов) по соображениям производительности в редакторе и в игре, поэтому я бы не рекомендую сделать это.

Если ваша цель - быстрое время загрузки, то создание префаба, как вы предложили, не является ужасной идеей, если соответствующая карта тайлов довольно мала (менее 10000 плиток), в противном случае вы почти наверняка заметите, как карта загружается в Если вы пытаетесь загрузить большие карты тайлов без всяких усилий, это может помочь асинхронно загрузить карту тайлов до того, как произойдет фактическое переключение.

Я бы сохранял только текущую и следующую карту загруженными в сцену, чтобы обеспечить плавный переход и оптимальное использование ресурсов. Карты Unity не легкие.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...