Почему я получаю 'inout simd_float3' (он же inout float3'), который не конвертируется в ошибку'float3'при преобразовании данных из узла SceneKit в Swift 4.2?

Я использую SceneKit и ARKit. Следующая функция вызывается в методе делегата:

func prepare(videoFrame: OTVideoFrame) {
    let cameraNode = sceneView.scene.rootNode.childNodes.first {
        $0.camera != nil
    }
    if let node = cameraNode, let cam = node.camera {
        let data = Data(fromArray: [
            node.simdPosition.x,  
            node.simdPosition.y,
            node.simdPosition.z,
            node.eulerAngles.x,
            node.eulerAngles.y,
            node.eulerAngles.z,
            Float(cam.zNear),
            Float(cam.fieldOfView)
            ])

        var err: OTError?
        videoFrame.setMetadata(data, error: &err)
        if let e = err {
            print("Error adding frame metadata: \(e.localizedDescription)")
        }
    }
}

Я получаю следующую ошибку на node.simdPosition.x линия:

'inout simd_float3' (aka 'inout float3') is not convertible to 'float3'

Как я могу исправить эту ошибку?

0 ответов

Другие вопросы по тегам