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

The rooms and portals system is an optional component of Godot that allows you to partition your 3D game levels into a series of Room s (aka cells), and Portal s. Portals are openings between the rooms that the Camera (and lights) can see through.

This allows several features:

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

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

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

Примечание

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

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

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

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

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

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

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

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

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

Примечание

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

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