ARKit添加捕捉图片,但它会导致旋转

时间:2017-11-08 08:55:50

标签: ios objective-c augmented-reality arkit

我创建了一个AR应用程序项目,然后在视图中添加一个点击手势。但是图片是旋转。我发现self.sceneView.session.currentFrame.camera.transform导致旋转,如何解决这个问题?

enter image description here

- (void)handleTapGesture:(UITapGestureRecognizer *)tap {

    SCNPlane * plane = [SCNPlane planeWithWidth:self.sceneView.bounds.size.width / 6000 height:self.sceneView.bounds.size.height / 6000];
    UIImage * image = self.sceneView.snapshot;
    plane.firstMaterial.diffuse.contents = image;

    SCNNode * node = [SCNNode nodeWithGeometry:plane];
    [self.sceneView.scene.rootNode addChildNode:node];

    simd_float4x4 translation = matrix_identity_float4x4;
    translation.columns[3][2] = -0.3;

    translation = matrix_multiply(self.sceneView.session.currentFrame.camera.transform,translation);
    node.simdTransform = translation;
}

1 个答案:

答案 0 :(得分:0)

我不喜欢为什么相机变换有旋转,但我将一个变形相乘以修复它,它运作良好。

SCNMatrix4 stranslation =  SCNMatrix4Translate(SCNMatrix4Identity, 0, 0, -0.3);
    stranslation = SCNMatrix4Rotate(stranslation, M_PI_2, 0, 0, 1);
    simd_float4x4 translation = SCNMatrix4ToMat4(stranslation);

    translation = matrix_multiply(scameraTranstion,translation);
相关问题