Зачем использовать чанки с созданием бесконечного мира (единство C # 2d сверху вниз) - PullRequest
0 голосов
/ 20 ноября 2018

Я делаю 2D-игру на выживание, у меня работает Perlin-Noise (я загружаю разные спрайты в зависимости от значения Perlin-Noise), но теперь я нахожусь в точке, где появляется «пол» внутри камеры.просмотреть и удалить «пол» за пределами камеры.Когда я гуглю или смотрю на YouTube, я вижу только учебники, в которых используются куски.

Мой "пол" состоит из спрайтов, и я использую столкновения (например, вы не можете ходить по горам)

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

Итак, я мог бы:

1) Я делаю куски, например, со спрайтами 3x3, и загружаю их

2) Я просто загружаю нужные спрайты (вы можете назвать это кусками 1x1)

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

спасибо за ваше время :)

1 Ответ

0 голосов
/ 30 ноября 2018

Я использую конечную карту, но идеи похожи.У меня есть карта, где каждая клетка имеет размер 100 * 100 метров.Для каждой из этих ячеек я храню такие вещи высокого уровня, как форма земли (например, холмы, высокие горы, океан), биом (пустыня, снег, лес) и погода.

Для каждой из этих ячеек я могу создать карту множества меньших ячеек, используя интерполяцию и дополнительные шумы.Эти ячейки содержат информацию, которая изменяется от ячейки к ячейке в одном и том же чанке.

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

...