Введение в Комнаты и Порталы

Система комнат и порталов — это дополнительный компонент Godot, который позволяет вам разбивать уровни 3D-игры на серию Комнаты (также называемых ячейками) и Порталы (и проходить свет).

Это позволяет использовать несколько особенностей:

  • Portal occlusion culling (Отброс ограничения портала), может повысить производительность за счет уменьшения количества объектов, которые рисуются как для камер, так и для теневых карт.

  • ** Gameplay callbacks ** (** Обратные вызовы игрового процесса**), позволяют отключить активность за пределами игровой области - искусственный интеллект, физику, анимацию, обработку и т.д.

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

Примечание

Порталы Godot не следует путать с порталами из одноименной игры` <https://en.wikipedia.org/wiki/Portal_ (видеоигра)>`__. Они не искажают пространство, они просто представляют собой окно, через которое камера (или источники света) может видеть.

Сведение к минимуму ручного труда

Хотя усилия, связанные с созданием комнат для большого уровня, могут показаться пугающими, есть несколько факторов, которые могут сделать это намного проще:

  • Если вы уже "разбираете комплект" и повторно используете комнаты или зоны, это идеальный способ сэкономить усилия. Плитки вашего уровня могут быть комнатами с уже размещенными порталами.

  • Если вы создаете процедурные уровни, вы можете создавать комнаты и порталы как часть алгоритма генерации процедур, который вы пишете.

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

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

В общем, когда дело доходит до средних и крупных уровней, лучше сделать небольшой перенос, чем вообще ничего не делать.

Некоторые предостережения

Примечание

Систему портала следует рассматривать как **расширенную функцию ** Godot. Вам не следует пытаться использовать комнаты и порталы, пока вы не ознакомитесь с редактором Godot и успешно не сделаете хотя бы пару тестовых игр.

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