Описание:
Объект func_areaportal используется для контроля видимости отдельных частей карты, открывая или закрывая невидимую перегородку (портал) между ними.
Разъяснение:
Объект func_areaportal используется для оптимизации карт. Закрыв портал, часть карты, находящаяся по ту сторону портала, не будет отображаться. Благодаря этому увеличивается быстродействие карты.
Принцип работы объекта func_areaportal очень похож на принцип отпирания/запирания дверей, поэтому в движке Source есть возможность привязки объекта func_areaportal к любому доступному типу дверей. До тех пор, пока двери закрыты, портал тоже закрыт и часть карты, находящаяся по ту сторону дверей (относительно игрока), не будет отображаться. Когда двери открыты – портал тоже открыт, и та часть карты, которая находится за дверью, будет отображаться.
Особенности использования:
- Этот объект обновляется в каждом раунде. Это означает что любые изменения объекта НЕ будут наследоваться в последующих раундах. Удаление объекта во время игры закрывает портал до начала следующего раунда.
- Объект должен быть установлен там, где будет использоваться.
- На карте может быть установлено множество этих объектов.
- Объект представляет из себя обыкновенный HINT-браш, но который может контролироваться и иметь состояние открыт/закрыт. По этой причине этот объект делит пространство карты на листья (Leaves) для BSP-дерева, и использовать его нужно с учётом всех особенностей использования HINT-брашей.
- При использовании этого объекта активно расходуются ресурсы CPU компьютеров игроков, потому что постоянно проверяется видимость частей карты сквозь этот объект. Неправильное применение этого объекта может существенно снизить быстродействие карты.
- Объект не задерживает пуль, через него можно свободно проходить и он не уменьшает область видимости для ботов. Он используется только для отсечения невидимых частей карты.
- В игре CS:S этот объект ДОЛЖЕН использоваться ТОЛЬКО совместно с дверями. Список доступных классов дверей в движке Source:
- func_door
- func_door_rotating
- prop_door_rotating
- Объект должен быть покрыт материалом tools/toolsareaportal.
- Объект не должен иметь на себе DISPLACEMENT-поверхностей.
- Объект должен иметь простую форму и не должен состоять из нескольких брашей.
- Если этот объект разделяет некоторые части карты, но при этом эти части карты всё равно смогут друг друга "видеть", то карта будет скомпилирована неправильно компилятором VBSP.
Ошибки:
не обнаружены.
Заметки:
Объект func_areaportal не обязательно должен быть покрыт материалом tools/toolsareaportal, но с этим материалом объекты func_areaportal легко будут видны и различимы в редакторе Hammer.
Для отладки порталов предусмотрены следующие консольные команды:
r_DrawPortals – (0 или 1, по умолчанию 0) скрыть/показать порталы;
r_PortalTestEnts – (0 или 1, по умолчанию 1) проверять видимость через портал всех функциональных объектов (entity) для игрока; проверка выполняется только тогда, когда портал открыт; эта опция отнимает ОЧЕНЬ много процессорного времени, что может очень сильно снизить быстродействие карты; принцип действия этой функции схож с принципом действия объекта func_occluder, только в отличие от объекта func_occluder, этот объект проверяет видимость абсолютно всех ближайших функциональных объектов (entity), а не только Prop-объектов; вы не должны отключать эту функцию во благо своей карте, потому что изменения коснутся всех последующих карт на сервере, идущих следом за вашей;
r_portalscloseall – (0 или 1, по умолчанию 0) закрыть все порталы на карте; после вызова этой команды ни один портал не сможет быть открыт; эта команда, совместно с командой "r_portalsopenall" используется для проверки скорости загрузки/выгрузки дополнительных материалов из видеопамяти при закрытии/открытии порталов, имитируя самые неблагоприятные игровые условия;
r_portalsopenall – (0 или 1, по умолчанию 0) открыть все порталы на карте; после вызова этой команды ни один портал не сможет быть закрыт; эта команда, совместно с командой "r_portalscloseall" используется для проверки скорости загрузки/выгрузки дополнительных материалов из видеопамяти при закрытии/открытии порталов, имитируя самые неблагоприятные игровые условия.
Советы:
Не используйте один объект func_areaportal сразу с несколькими дверями. Если открыть хотя бы одну дверь, то портал откроется. Портал закроется, когда закроется хотя бы одна дверь, даже если другие двери останутся открытыми.
Начинайте заниматься расстановкой объектов func_areaportal после того, как создадите свою карту. Как уже говорилось ранее, объект func_areaportal используется для оптимизации карт.
Свойства:
Initial State – состояние портала в начале каждого раунда (Закрыт/Открыт);
Linked Door Name – имя объекта-двери, которая будет использоваться совместно с порталом; если указано это свойство, то свойство "Initial State" не будет использоваться; список доступных классов дверей в движке Source:
- func_door
- func_door_rotating
- prop_door_rotating
Portal Version (Read-Only) – (всегда должно быть равно 1) версия порталов, используемая в движке; нельзя изменять.
Inputs:
Open – открыть портал;
Close – закрыть портал;
Toggle – переключить состояние портала (Открыт/Закрыт).
Источник: http://www.virte.clan.su/publ/kartostroenie/func/func_areaportal/6-1-0-216
Добавил: Le-Satan-Pirate
21.11.2025 Просмотров: 2847
Комментарии