我正在尝试重现 ARCamera 的投影点函数,但是由于某些原因,这些值无法正确匹配。我正在使用 ARCamera 的投影矩阵和视图矩阵,并应用基本的 CG 透视变换数学(PV)* p,但是 NDC 值与 ARCamera 的投影点函数给出的像素值不匹配。有任何想法吗?我忘记了什么吗?
一些细节:
基本上,我尝试单击按钮以获取 ARFrame,然后尝试复制https://developer.apple.com/documentation/arkit/arcamera/2923538-projectpoint的功能。我正在尝试使用https://developer.apple.com/documentation/arkit/arcamera/2887458-projectionmatrix和https://developer.apple.com/documentation/arkit/arcamera/2921672-viewmatrix进行此操作,确保所有输入都匹配这两个部分。 CG 大小用于将坐标从 NDC 空间转换为图像空间。
编辑:找到解决方案,请检查下面的评论。
1 回答
原来是projection_matrix的问题,有时无法正确找到设备方向。正确的方法是使用projectionMatrix(for:viewportSize:zNear:zFar:)。