Годо - как я могу загрузить 7500000 плиток, не занимая так много времени? - PullRequest
2 голосов
/ 04 февраля 2020

У меня есть мир, в котором 7500000 плиток. Мир 1500x5000, и каждый тайл 16x16 пикселей. Если я хочу загрузить игру, и я просто загрузил все плитки, это заняло бы много времени. Есть ли способ просто загрузить плитки рядом с плеером? Как то, как террария рендерит все свои плитки.

1 Ответ

2 голосов
/ 06 февраля 2020

Чтобы обработать такое большое количество тайлов, вам нужно будет разбить ваш мир на меньшие TileMaps (либо вручную, либо с помощью скрипта) и загружать / выгружать куски по мере движения игрока. Это похоже на то, как Minecraft загружает мир, за исключением того, что на этот раз в 2D. Насколько мне известно, Terraria делает то же самое.

Поскольку вам нужно полностью / полностью загрузить / выгрузить TileMaps (а не просто показать / скрыть), вы не можете использовать здесь узлы VisibilityNotifier или VisibilityEnabler. Однако вы можете использовать InstancePlaceholder в своих интересах, так как он предназначен для маркировки узлов-заполнителей, которые могут быть загружены по требованию. Чтобы сделать это из редактора, вы можете щелкнуть правой кнопкой мыши по любому узлу в доке дерева сцен и включить Загрузить как заполнитель .

Если загрузка кусков во время выполнения по-прежнему вызывает заикание, вы также необходимо использовать класс ResourceInteractiveLoader для загрузки ресурсов TileMap в фоновом режиме.

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