我创建了一个AR应用程序项目,然后在视图中添加一个点击手势。但是图片是旋转。我发现self.sceneView.session.currentFrame.camera.transform
导致旋转,如何解决这个问题?
- (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;
}
答案 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);