Категории каталога

Прохождения [2]
Все прохождения к играм серии Postal
Коды [4]
Здесь можно узнать коды на игры серии Postal и к ее модификациям
PostED и модостроительство [18]
Здесь находятся туториалы и обучения по работе с редактором PostED и моддингом вцелом
Интересное [3]
Разные интересности, касающиеся Postal - секреты, интервью, факты, дневники разработчиков и прочее

Форма входа

Поиск

Мини-чат

200

Статистика

POSTAL WORLD IN RUSSIA

Каталог статей

Главная » Статьи » PostED и модостроительство

Postal Zones & Portals, Teleporters
Postal Zones

Концепция зон

Уровни в Postal могут быть огромны; многие из них состоят из более чем 20,000 полигонов. Тем не менее, одновременно игрок видит только крошечную часть этих 20,000 полигонов, обычно порядка 100-200. Движку, при этом, требуется значительное время CPU, для выяснения какие же 200 полигонов из потенциально возможных 20,000 видны в данный момент. В Postal используется несколько способов для ускорения процесса "определения видимых поверхностей". Большинство из них автоматические, не требующие вмешательства мап-дизайнера (map-designer). Но один из самых мощных приемов, разбиение на зоны (zoning), требует от дизайнера самостоятельной установки специальных, невидимых полигонов - "zone portals" на уровне. Зоны значительно ускоряют вычисления движка на "видимость", и они, также, позволяют дизайнерам создавать множество спецэффектов присущих определенному пространству, например, окружающий свет или модифицировать гравитацию.

Зона является абстрактной составляющей 3D пространства, например, это может быть комната или группа нескольких, соединенных между собой комнат.

Разбивая уровень на зоны, Вы выигрываете по нескольким параметрам:

    * Скорость - грамотно разбитый на зоны уровень ускоряет процесс "определения видимых поверхностей" на порядка 100% для сложных карт, при сравнении с "не-зонированным" уровнем;
    * Окружающий свет (Ambient Lighting) - каждая зона может иметь собственные настройки окружающего света, которые дополняются к обычному свету, при вычислении освещения поверхностей. Окружающий свет просто незаменим для открытых пространств, где абсолютно черные тени выглядят не естественно, а также для обстановок, не требующих сильно темных теней;
    * Реверберация - ее свойства могут быть установлены для каждой зоны отдельно; для более детальной информации, обратитесь к audio документации;
    * Физические параметры зоны - например, сопротивление и гравитация (сила тяжести);
    * Вода;

Отображение зон

В PostED предусмотрен специальный режим, позволяющий графически отображать зоны на уровне, при этом каждая из них выполнена отдельным цветом. Для этого, в любом окне 3D вида в меню Mode выберите Zones/Portals. Если необходимо отобразить зоны во время игры, наберите в консоли "RMODE 2" (без кавычек).

Во время работы в едиторе, зонные порталы (zone portals) нормально отображаются, и Вы не можете видеть сквозь них. Для того чтобы их "спрятать", нажмите кнопку с изображением джойстика на заголовке окна 3D вида - это включит режим реального времени. Используйте его только для предварительного просмотра архитектуры, т.к. этот режим значительно замедляет работу PostED и интерфейса.

Разбиение уровня на зоны

Дизайнеры могут разбивать уровни на зоны при помощи специального вида брашей - зонных порталов (zone portals), как бы "закупоривая" отдельную часть уровня, обеспечивая ее "водонепроницаемость".

В PostED присутствует два инструмента, позволяющие создать зонный портал:

    * Sheet Brush. Его кнопка находится среди прочих иконок строительных брашей. Позволяет построить плоский, прямоугольный полигон. Используйте его для построения зонных порталов. Вам необходимо создать полигон достаточно большим, для того, чтобы отгородить одну часть уровня от другой;
    * Add Special Brush. Кнопка с изображением синего квадрата с пунктиром внутри, находится на панели инструментов, под иконками "Add" и "Subtract". Позволяет добавлять полигоны со специальными свойствами. При нажатии на иконке "Add Special Brush", появляется диалоговое окно, в котором Вы можете указать различные параметры. Выберите "Zone Portal". Затем установите полигон в нужное место и нажмите "Add" для построения портала.

Для разбиения на зоны, сперва добавьте необходимое количество зонных порталов (используйте при этом оба инструмента: "Add Special Brush" для добавления полигонов в уровень и "Sheet Brush" для их постройки). Затем, перестройте (Build) Ваш уровень. PostED при этом обнаружит все "закупоренные" при помощи зонных порталов пространства, и назначит каждому из них уникальную зону. Теперь можете активизировать режим отображения зон, для проверки правильности разбиения уровня.

Если в режиме отображения зон (Zones/Portals), Вы видите, что движок не распознал их, Вы, скорее всего, сделали зонные порталы не "герметичными". Вам необходимо увеличить размер "неудавшихся" порталов, отделяющих зоны, для абсолютной их изоляции друг от друга.

Если во время игры, Вы видите так называемый "Hall Of Mirrors" (HOM - "Зал Зеркал") в том месте, где Вы установили зонный портал, то убедитесь, чтобы этот портал полностью изолировал пространство, которое он отделяет. В случае, если портал не полностью закрывает проход (есть "утечка"), Вы будет видеть через него "ничто".

Где устанавливать зонные порталы

Для "специальных" зон, таких как, например, вода, Вы, конечно, установите их где это необходимо.

При определении зон, предназначение которых является только ускорение движка, Ваша цель разделить их зонными порталами как можно меньшими по размеру. Чем меньше портал, тем меньше ресурсов затратит движок при их обсчете. Именно поэтому, все порталы в игре установлены обычно в переходах, отделяющих большие пространства - например, в дверных проемах или коридорах. Такой подход позволяет качественно разбить уровень на зоны, не используя при этом огромные по размеру порталы.

Нет никакой пользы (Вы скорее за это поплатитесь производительностью) устанавливать зонные порталы посередине огромных комнат. Порталы такого размера сами "сжирают" больше CPU времени, чем его экономят. Поэтому, старайтесь размещать их в коридорах, дверях и узких проходах.

Установка актеров ZoneInfo для определения свойств зоны

Если Вы хотите назначить определенные свойства зоне, такие как, вода, окружающий свет или реверберацию, Вам нужно будет для нее установить актер ZoneInfo. Делать это нужно только в том случае, если Вы хотите "настроить" зону. Если же зона - итог Вашей борьбы за производительность движка, то ZoneInfo устанавливать не нужно.

Откройте Браузер Актеров (Actor Class Browser), перейдите к пункту Info и в нем выберите ZoneInfo. Устанавливать этот актер можно в любой точке зоны. Если Вы установили его в пустом (незанятом) пространстве зоны (например, внутри брашей устанавливать их нельзя) и в этой зоне не присутствуют другие актеры ZoneInfo, то никаких проблем у Вас возникнуть не должно, и ZoneInfo будет отлично работать. Для того, чтобы движок "понял" установленные Вами актеры ZoneInfo, Вам необходимо перестроить (Build) уровень.

Загляните в окно свойств актера ZoneInfo для ознакомления с его настройками. Здесь Вы найдете множество прикольных параметров, например, сопротивление, гравитация, окружающий свет, зона "боли", вода и пр.


Предупреждение

Уровень может содержать максимум 64 зоны. Если Вы создадите их больше чем 64, то движок вынужден будет объединить некоторые из них, что скажется на производительности. Это ограничение может быть изменено в будущем.

Создание порталов и телепортеров

Введение

Одной из интереснейших особенностей движка Unreal являются порталы. Порталы - это такие зоны, при входе в которые, Вы оказываетесь в другой "портальной" зоне. Однако порталы не только перемещают игрока в пространстве (чего же тогда тут интересного - телепортеры появились еще в Doom'e), но и позволяют видеть все, что происходит в другом портале, стрелять сквозь портал. В общем, портал - это такая "дыра", концы (или начала :) которой могут находиться в совершенно разных местах, некое "окно" в другое место.

Устройство

Как я уже сказал, портал это особая зона. Зона эта называется Warp Zone, и чтобы ее создать, нам нужен объект WarpZoneInfo. Ну а поскольку зона портала должна вести игрока в другой портал, то таких зон надо две. Итак, все, что нужно для создания порталов - это два постамента (или два окна, или две дыры - это ограничено только Вашей фантазией), внутри которых имеется по одной Warp Zone.

Собственно создание порталов

Сначала сделайте две не соединенных между собой комнаты любых размеров, желательно отличающихся друг от друга. Поместите в одной из них PlayerStart. Теперь приступим к созданию порталов. Для начала создайте в каждой комнате два примерно таких постамента:

Постамент сделан из двух брашей - большого куба 192x192x64 и вырезанного из него куба поменьше - 176x160x48. Ну а теперь мы добавим в каждый постамент по зоне. Сначала отделите пространство внутри постамента поверхностью. Не забывайте, что поверхности надо добавлять кнопкой Add Special Brush. В окне Add Special Brush выберите параметры Regular, 2-sided, Transparent, Zone Portal. После добавления поверхности выберите ее, нажмите правую кнопку и откройте окно свойств поверхности. В закладке Effects отметьте флажок Unlit. Проделайте то же самое с другим постаментом. Теперь добавьте объект Info.ZoneInfo.WarpZoneInfo внутрь каждого постамента. Выберите один из объектов WarpZoneInfo и откройте окно его свойств. Раскройте строку WarpZoneInfo и найдите два параметра, ThisTag и OtherSideURL. ThisTag - это имя данного портала, OtherSideURL - это имя портала, в который ведет данный портал. Так что поставьте ThisTag=portal1, OtherSideURL=portal2 у одного портала и ThisTag=portal2, OtherSideURL=portal1 у другого портала. Теперь перестройте уровень и запустите игру. По идее, все должно работать. Однако, лично у меня в Postal 2 часто возникают странные глюки с порталами, вроде мерцания или эффекта HOM (Hall Of Mirrors). Причем в PostED все в порядке. Как Вы (наверное) видите, сквозь порталы можно спокойно видеть. Однако, нельзя стрелять - выстрелы "застревают" в портале.

Создание телепортеров в стиле UT

Как Вы, может быть, уже заметили, на стандартных картах Postal 2 порталов нет. А теперь про создание телепортов, которые используются в скриптовых сценах Postal 2.

Телепортеры - это уже не порталы, они устроены намного проще. Это просто объекты, которые перемещают игрока в пространстве. Сквозь них нельзя стрелять, видеть, слышать и т.п. При помощи телепортеров можно только перемещаться. Телепортеры создавать намного проще, чем порталы - ведь для них не надо никаких постаментов и зон, каждый телепортер - это отдельный объект. Для того чтобы добавить телепортер в уровень, добавьте объект (а точнее два) NavigationPoint.Teleporter.VisibleTeleporter. Теперь откройте окно свойств телепортера. Найдите параметр Events->Tag. Это имя данного телепортера, напишите там что-нибудь вроде "teleporter1". Теперь найдите параметр Teleporter->URL. Это имя того телепортера, в который Вы телепортируетесь. Наберите там "teleporter2". Теперь смените Tag и URL второго телепортера на teleporter2 и teleporter1 соответственно. Все, телепортеры готовы, можете проверить.

Создание невидимых телепортеров/выходов с уровня

Иногда требуется добавить телепортер так, чтобы его не было видно , для этого вместо VisibleTeleporter надо добавить просто NavigationPoint.Teleporter. Все параметры точно такие же. Создать выход с сингл-плеер уровня на следующий - это уже сложнее. Для этого надо сначала добавить два Teleporter'а, первый в самом конце одного уровня и второй в самом начале следующего. Tag второго надо установить во что-нибудь типа "SecondLevelEntry". Теперь URL первого поменяйте на "SecondLevel#SecondLevelEntry?peer", где SecondLevel - название следующего уровня. То есть формат строки URL такой: "Имя_уровня#имя_телепортера?peer". Для чего нужен ?peer мне неизвестно, но в оригинальных уровнях он всегда присутствует. (Смотрите в пример любой уровень из Postal2).

Вот Вы и познакомились с порталами и телепортерами. Ну а теперь быстренько запускайте PostED (если он еще не запущен) и начинайте добавлять их в свои уровни... для прикола, кстати, если у Вас возникнут вопросы, то не стесняйтесь задавать их мне, я постараюсь ответить...

Пока!


Источник: http://www.unrealscript.narod.ru
Категория: PostED и модостроительство | Добавил: postalworld (17.10.2008)
Просмотров: 984 | Рейтинг: 5.0/1
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]