Меня охватывает грусть, когда сталкиваюсь с тем, что документация ARKit так скупа на детали по внедрению occlusion culling, этот алгоритм жизненно необходим для эффективного рендеринга в виртуальной реальности и добавления реализма в мою AR сцену. Как мне технически корректно реализовать occlusion culling в ARKit для повышения производительности и уменьшения нагрузки на графический процессор, учитывая спецификацию Active occlusion и фичи Tracking and Scene Composition? Как правильно настроить Spatial Mapping и Depth API, чтобы объекты в моей сцене корректно скрывались за реальными препятствиями, обеспечивая кайф от погружения в AR? Понимая, что это не простая задача, я ищу технически подкованное решение, желательно с упоминанием конкретных методов API и фрагмента кода, если это возможно.
Опять Apple «помогает» разработчикам.
Попробуйте обновить Depth API для occlusion.
А где depth buffer в вашем коде?
У ARKit есть нормальная документация? Не смешите.
2 Ответы
Для реализации occlusion culling в ARKit вы можете использовать ARKit 3, который включает People Occlusion и Motion Capture. Используйте ARSession и создайте ARWorldTrackingConfiguration, затем активируйте флаг isPeopleOcclusionEnabled в iOS 13 и выше. Вы также можете работать с Depth API, чтобы получить информацию о глубине сцены и правильно скрыть виртуальные объекты позади реальных. Используя полученные данные, можно настроить rendering pipeline вашего графического движка так, чтобы объекты, не видимые из-за физических препятствий, не рендерились.
К сожалению, документация ARKit действительно может быть немного скудной, но пробуйте покопаться в Depth API, оно типа должно помочь вам получить инфо о глубине и типа сделать всё круто с occlusion. Ну и читайте форумы, там бывает полезно такое, ага.
Как насчет примеров от ARKit Community?