reckfellENGINE

Оптимизация 3D: видимость, границы и группы

Не рисуйте лишнюю геометрию и не теряйте нужную из-за неправильного AABB.

На этой странице

Разные способы сократить работу

Frustum culling исключает объект по границам камеры; occlusion culling использует данные перекрытия другими объектами. Это разные механизмы. Один Z-buffer не означает, что вся скрытая геометрия перестала требовать CPU-подготовку, вершины и команды.

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

Учитывать размер группы

В MultiMesh индивидуальные положения находятся в буфере, а видимость группы определяется общими границами. Группа на весь город может оставаться видимой, когда камера видит лишь небольшой участок. Разбейте её по пространственным областям, если выигрыш от отсечения оправдывает дополнительные группы и команды.

СитуацияПроверить
Объект исчезает при движении камерыГраницы, преобразование, слой и диапазон видимости
Пропадает хвост или край эффектаGPU-деформацию и запас в AABB
Видим малый участок большой стаиОбщие границы и размер группы
После оптимизации изменились силуэт или тениНе удалена ли нужная визуальная работа

Границы для GPU-анимации

MultiMesh-пример задаёт CustomAabb. Частицы используют VisibilityAabb с запасом на движение. Вершинная деформация на GPU сама по себе не обновляет подходящий CPU AABB на каждую возможную позу.

CaptureAabb у частиц — оценка текущего состояния с возможным отставанием и чтением GPU-буфера. Для известной ограниченной анимации явные безопасные границы проще и не требуют чтения каждый кадр. Не назначайте бесконечно большой AABB как универсальное исправление исчезновения объектов.

Проверить реальную стоимость

Пример использует непрозрачный unshaded-материал без теней. Это не замена проверке освещённой модели с прозрачностью, тенями и эффектами. Настройки depth prepass и доступность отдельных приёмов зависят от рендерера; не считайте их одинаковой гарантией для Forward+, Mobile и Compatibility.

Запустить стаю · Измерять GPU

Документация Reckfell EngineНаверх ↑
БЫСТРЫЙ ПЕРЕХОДНачало работыEntity и иерархияC# & .NET 10Сцены и префабы
Руководства и полный API Reckfell K
reckfellENGINE
RECKFELL ACCOUNT

Вход в аккаунт

Войдите в аккаунт Reckfell.

Один аккаунт для всей платформы Reckfell.