Umbra¶
Краткая сводка информации¶
Что такое окклюзия?¶
Окклюзия — это процесс, при котором скрываются объекты, невидимые для камеры из-за перекрытия другими объектами. Это ключевая технология для оптимизации рендеринга: Невидимые объекты исключаются из рендеринга, что позволяет экономить ресурсы.
Что такое Umbra?¶
Umbra — это технология, которая управляет окклюзией и видимостью объектов в 3D-пространстве. Она помогает определить, какие объекты видны игроку, а какие можно исключить из рендеринга.
Как работает Umbra:
- Разделяет сцену на части, используя пространственные структуры или специальные алгоритмы (например, фрустрационные пирамиды).
- Анализирует, какие объекты нужно загрузить для рендеринга, а какие можно пропустить.
- Оптимизирует ресурсы, обрабатывая только то, что реально нужно для отображения.
Что такое стриминг объектов?¶
Стриминг объектов — это процесс, при котором игра динамически загружает и выгружает объекты, основываясь на их видимости и актуальности. Вместо того чтобы загружать всё сразу, игра обрабатывает только те элементы, которые находятся в поле зрения игрока или рядом с ним.
Стриминг использует окклюзию для определения, какие объекты должны быть загружены, а какие — нет.
umbraScene: [CUmbraScene]¶
umbraScene отвечает за параметры umbra. Параметр umbraScene доступен для миров.
Он является ресурсом (Наследуется от CResource), файлы окклюзии хранятся внутри папки мира в файлах .w3occlusion
а само определение umbraScene в .w3occlusiondef.
Они генерируются движком автоматически и не требуют ручных модификаций.
CResource¶
Поскольку он наследуется от CResource, он так же имеет поля от CResource (importFile и importFileTimeStamp). Эти поля не функциональны (импортировать окклюзию не имеет смысла, она генерируется автоматически)
CUmbraScene¶
distanceMultiplier¶
- Тип: Float
- Параметр: Коэффициент расстояния для стриминга Umbra.
- Описание: Определяет коэффициент для дистанции, на которой объекты обрабатываются системой Umbra.
Пример: Значение 1.5 означает, что Umbra будет учитывать объекты на расстоянии в 1.5 раза больше базового значения. Это может быть полезно для уровней с дальними объектами, которые должны быть обработаны для окклюзии.
Увеличение значения влияет на производительность, так как стриминг будет охватывать большее расстояние.
localUmbraOccThresholdMul¶
- Тип: String
- Параметр: Путь к файлу w3simplex.
- Описание: Позволяет указать для множителя порога отсечения локальных областей симплексное дерево.
Автор: grandvel
Документация поддерживается участниками сообщества REDkit RU