Объем, Элемент карты
Объём (Brush), Элемент карты - это выпуклая 3D форма, созданная с помощью инструмента Элемент редактора Hammer. Элементы карты используются дизайнерами уровней, чтобы определить форму мира (которая определяет видимость) и для создания объёмных объектов мира.
При компиляции карты VBSP конвертирует видимые грани элементов карты в
группы полигонов. Результирующие 'элементные модели' сохраняются BSP-файле и могут являться объектами (например - мира, или объёмным объектом). Исходные объёмы элементов карты всегда хранятся в BSP, хотя преимущества от этого не совсем ясны.
По сравнению с моделями, элементы карты:
- Всегда уникальные
- Низко-детализированы и не ресурсоёмки
- Освещаются предварительно расчитанным освещением
- Жёсткие (не могут быть деформированы)
Компиляция
- Для каждого индивидуального элемента карты, компилируется только та грань, которая касается области видимости (то есть видима). Некоторые результаты этого процесса можно увидеть ниже:
Элементы карты и их компилированные эквиваленты. Хотя второй и третий варианты выглядят одинаково, третий вариант использует больше граней элементов. - Если некоторые части грани элемента карты видимы, а другие - нет, то эта грань будет разделена соответственно.
Есть два исключения из этих правил:
- Хотя они являются отдельными объектами мира в Hammer, но все элементы детализации func_detail объединяются в единый объект мира во время компиляции. Не обязательно скрывать с помощью служебной неотрисовываемой текстуры совпадающие грани элементов детализации (но нужно скрывать грани элементов детализации, примыкающие к элементам геометрии карты в
). - Грани с полупрозрачными материалами никогда не разделяются. Никогда не применяйте их на внутренние или скрытые от игрока поверхности.
Ограничения
VBSP имеет следующие ограничения:
- 8192 элементов на карте (65535 в
) - 128 граней на одном элементе карты [подтвердить]
- 65536 граней всего на всех вместе взятых элементах на карте
Невидимые элементы карты, такие как переключатели и даже элементы указания расходуют эти ограничения. Грани с неотрисовываемой служебной текстурой не расходуют эти ограничения, так как удаляются при компиляции, поэтому остаются только их габариты столкновений, ограничивающие короба и занимаемый объём мира. Обратите внимание, что грани могут разделяться компилятором, что будет дополнительно расходовать лимит.
Даже если элемент не расходует лимит на количество граней VBSP, он всё равно будет расходовать лимит граней элементов платформы, который равен 65535.