无法调用类型 'SCNMatrix4' 的初始值设定项

Cannot invoke initializer for type 'SCNMatrix4'

我正在处理 ARKit 并尝试初始化 SCNMatrix 但它抛出以下错误:

代码片段:

if let frame = self.sceneView.session.currentFrame {
    let mat = SCNMatrix4(frame.camera.transform) 

    return (dir, pos)
}

错误:

Cannot invoke initializer for type ‘SCNMatrix4’ with an argument list of type ‘(matrix_float4x4)’ Overloads for ‘SCNMatrix4’ exist with these partially matching parameter lists: (float4x4), (double4x4)

有人遇到过类似的问题吗?

您使用的是旧 Xcode 测试版。 Swift SIMD 矩阵类型的桥接在 Xcode 9.0 beta 2 中发生了变化。(截至撰写本文时,beta 3 是最新的。)

经过上述更改,matrix_float_4x4float4x4 是同一类型,因此您的代码应该可以正常工作。