SCNTechnique в ARSCNView не влияет на CameraFeed (фон сцены) в iOS 13
До iOS 13 (iOS 11 и 12) SCNTechnique, применяемый к ARSCNView с многопроходной настройкой, которая сначала должна отрисовывать всю сцену в текстуру (через DRAW_SCENE), также влияла на фон сцены ARKit (канал камеры). Теперь с iOS 13, похоже, это уже не так. Фрагментные шейдеры, примененные к результирующей текстуре, не изменяют канал камеры - только содержимое SceneKit (например, узлы). При использовании настраиваемого фона сцены, такого как изображение, все работает так, как ожидалось. Тот же результат при работе только с SCNView.
Установка clearColor на sceneBackground в colorStates не помогает. Я также пробовал отключить текстурирование среды и окклюзию людей.
Кто-нибудь знает обходной путь для этого? Я хотел бы отфильтровать всю визуализированную сцену ARKit, чтобы изменить настроение моего опыта AR. Прилагаю скриншот моей техники plist.
Спасибо!
1 ответ
В iOS 13 ARKit появилась поддержка зернистости камеры. Когда используешьARSCNView
эта функция включается автоматически, но ее реализация иногда может конфликтовать с вашим собственным использованием SCNTechnique
. Настройка rendersCameraGrain
к false
должен решить проблему.