Почему я получаю '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'
Как я могу исправить эту ошибку?