Уровни Unrealа могут быть огромны; многие из наших готовых уровней помещают 20,000 полигонов. Одновременно, игрок обычно видит только100-200 полигонов, крошечную часть из этих 20,000 . Engine игры тратит огромное количество времени ЦЕНТРАЛЬНОГО ПРОЦЕССОРА на выделение и расчет полигонов, которые мы видим в каждой сцене, из общего количества всей карты. Unreal Engine использует несколько методов, чтобы ускорить этот процесс. Большинство этих методов не требует никакого вмешательство проектировщика. Однако, один из наиболее мощных методов, зонирования, требует, чтобы проектировщики уровня вручную поместили невидимые полигоны, так называемые ," Zone Portals" в их уровнях. Зоны значительно ускоряют вычисления видимости движка, и они также дают возможность проектировщикам создать много специальных эффектов, которые являются специфическими для данной области, типа тумана, отражаемость света(Ambient lighting) или измененной силы тяжести.
Зона - это не материальная (осязаемая) часть трехмерного пространства, как, например, комната, а комплексная группа нескольких взаимосвязанных участков уровня
Деля вашу карту в зоны, Вы получаете несколько выгод:
UnrealEd имеет специальный режим, который дает возможность Вам видеть зоны вашего уровня графически, где каждая зона выполнена в отдельном цвете. В UnrealEd, в меню трехмерной области просмотра, выбирают " Zone/Portal view ". Вы можете также видеть это в игре, печатая " RMODE 2 " в консоли.
В UnrealEd, зональные проходы (zone portals) обычно видимы, и Вы не можете
видеть через них. Чтобы убрать их, нажмите кнопку джойстика в области просмотра, которая
включает обновление в реальном масштабе времени области просмотра.
Рекомендуется использовать это только для предварительного просмотра вашего
уровня, поскольку это значительно замедляет остальную часть интерфейса
пользователя редактора.
Вы можете выделять части уровней в зоны, используя специальные виды brush, зональных порталов (zone portals), запечатывать области их карт и делать их герметичными.
В UnrealEd имеются два инструмента для создания зон:
Используя инструменты "Sheet brush" и "Add special brush" , разделите свою карту на зоны. Затем, вызвав опцию "Build Geometry", перекомпилируйте Ваш уровень. Компилятор просмотрит вашу карту и назначит уникальную зону к каждой области. Вы можете войти в "Zone/Portal " просмотр, чтобы проверять, графически, правильно ли ваш уровень разделен на зоны.
Если, в "Zone/Portal " просмотре, Вы видите, что Engine не распознал ваши зоны, Вы, вероятно, не сделали Zone Portal герметичными. Тогда Вы должны увеличить их, что бы отдельные зоны полностью блокировались друг от друга.
Если, в игре, Вы видите эффект" зал зеркал ", в том месте, где Вы поместили портал, то удостоверьтесь, что ваши Zone Portal полностью запечатывают области пространства, которые они отделяют. Если Вы имеете портал, который только частично заполняет проход, Вы можете увидеть через него небытие (:)).
Для специальных зон, подобно зонам воды, Вы должны поместите Zone Portal везде, где нужно ограничить данную зону и избежать утечки.
Для зон, чья цель только ускорить Engine, Вы должны делить Ваш уровень в зоны порталами как можно меньшими по размеру. Следовательно, Надо помещать Zone Portal в проходы, которые естественно отделяют большие области, типа дверных проемов, узких проходах и прихожих. Этот подход удачно разделит уровень, без добавления слишком много количества Zone Portal.
Нет никакой пользы (и часто даже наоборот) в размещении Zone Portal в середине больших комнат. Эти огромные двери обычно едят большее количество времени ЦЕНТРАЛЬНОГО ПРОЦЕССОРА, чем экономят.
Если Вы хотите назначать индивидуальные свойства зоны, типа воды, отражения
света, или реверберации, Вы должны добавить объект "ZoneInfo" в Вашу зону. Это надо делать,
если только Вы хотите назначать специальные свойства зоны; если Ваша цель-
быстродействие, Вы не должны добавлять ZoneInfo.
В окне просмотра классов, откройте класс "Info", и выберите "ZoneInfo". Вы можете добавлять ZoneInfo в любое место Вашей зоны; но не больше, чем один ZoneInfo и в пустом месте (не занятом другими actors и brushes). Для UnrealEngine, чтобы распознать ваш ZoneInfo , Вы должны перекомпилировать Вашу карту снова.
В окне свойств ZoneInfo имеются много крутых изменяемых параметров, типа трения, силы тяжести, отражения света, боли, воды, и т.д.
Создавая зону воды, найдите в браузере классов в разделе "ZoneInfo" -"WaterZone". Код физики Unreal Engine автоматически распознает эти зоны воды и разницу между идущим и плавающим игроком или объектом.
Чтобы сделать ясную воду, надо выделить поверхность воды, выбрать " Surface Properties "(свойства поверхности) и включить опцию "Translucent"(прозрачность).