Как добавить полупрозрачный фон поверх камеры ARKit - PullRequest
0 голосов
/ 04 апреля 2019

Я пытаюсь добавить полупрозрачный фон, закрывающий вид из камеры из ARKit.enter image description here

Я пробую разные вещи:

  • Добавление фона в sceneView.scene , но не поддерживающего прозрачность
  • Добавить overlaySKScene , но узлы на моей сцене тоже наложены.
  • Использовать CIImage из сеанса> capturedImage, но слишком медленно.
  • Использовать этоpost: Надежный доступ и изменение захваченных кадров камеры в SceneKit , все нормально для преобразования в черно-белое, но я не понимаю, как я могу сохранить цвета и смешать серый цвет.
  • Поиск наOpenGL или Metal, но я нуб!

Итак, у вас есть идея реализовать эту операцию в ARKit?Заранее спасибо.

1 Ответ

1 голос
/ 04 апреля 2019

Я не совсем понимаю, что вы хотите. Возможно, этот код - то, что вы ищете:

override func viewDidLoad() {

    super.viewDidLoad()
    sceneView.delegate = self

    let scene = SCNScene(named: "art.scnassets/ship.scn")
    let box = SCNBox(width: 10000, 
                    height: 10000, 
                    length: 0.01, 
             chamferRadius: 0)

    let planeNode = SCNNode(geometry: box)
    planeNode.position = SCNVector3(0, 0, -20)
    planeNode.geometry?.firstMaterial?.diffuse.contents = UIColor(white: 0, 
                                                                  alpha: 0.9)
    scene!.rootNode.addChildNode(planeNode)

    sceneView.scene = scene!

    guard let currentFrame = sceneView.session.currentFrame else {
        return
    }

    var translation = matrix_identity_float4x4
    translation.columns.3.z = -20
    planeNode.simdTransform = matrix_multiply(translation, 
                                              currentFrame.camera.transform)
}

Надеюсь, это поможет.

...