我正在用OpenGL开发一个OpenGL应用程序,所以直接使用ARKit,而不是使用SceneKit。
默认情况下,ARKit设置为横向方向,但我无法跟踪任何文档或示例,以旋转到纵向。SceneKit示例工作在纵向,但Metal示例仅在景观中工作。
是否可以更改ARKit跟踪方向?
发布于 2017-08-24 01:22:44
我能够在应用逻辑中解决这个问题,方法是将相机矩阵乘以一个四元数,这个四元数是基于设备方向旋转的。
发布于 2022-10-05 04:17:56
let cameraQuaternion = simd_quatf(arCameraTransform)
minimapcamera.quaternion2 = cameraQuaternion * simd_quatf(angle: Float.pi/2, axis: SIMD3<Float>(0, 0, 1))我的解决方案仅基于对肖像的公认答案
发布于 2018-08-24 07:53:26
抱歉,目标是-c。
找到并重写这个
uniforms->viewMatrix = [frame.camera viewMatrixForOrientation:UIInterfaceOrientationLandscapeRight];
uniforms->projectionMatrix = [frame.camera projectionMatrixForOrientation:UIInterfaceOrientationLandscapeRight viewportSize:_viewportSize zNear:0.001 zFar:1000];至
uniforms->viewMatrix = [frame.camera viewMatrixForOrientation:[[UIApplication sharedApplication] statusBarOrientation]];
uniforms->projectionMatrix = [frame.camera projectionMatrixForOrientation:[[UIApplication sharedApplication] statusBarOrientation] viewportSize:_viewportSize zNear:0.001 zFar:1000];和
CGAffineTransform displayToCameraTransform = CGAffineTransformInvert([frame displayTransformForOrientation:UIInterfaceOrientationLandscapeRight viewportSize:_viewportSize]);至
CGAffineTransform displayToCameraTransform = CGAffineTransformInvert([frame displayTransformForOrientation:[[UIApplication sharedApplication] statusBarOrientation] viewportSize:_viewportSize]);https://stackoverflow.com/questions/45125709
复制相似问题