ARKit会话中的远平面有多远?

时间:2017-10-29 03:15:03

标签: arkit

所以,

我一直在SCNSceneRenderer上使用unproject函数:

public func unprojectPoint(_ point: SCNVector3) -> SCNVector3

当我想取消投影屏幕点时,我传递Z = 1。

为了检查事物,我还在未投影的矢量位置在场景中放置了一个节点。事情好像结束了。

在这个过程中,我想知道ARKit如何真正处理近距离和远距离飞机。

远处飞机上的未投影点在记录时给我这个,这是我指向相机时(尽可能直线停机时间-Z在世界坐标中):

SCNVector3(x: 121.191811, y: -176.614227, z: -1111.88794)

鉴于在ARKit中单位为米,-1111是否表示远平面距离约1K?

我试图理解近距离和远距离平面在ARKit会话中的位置,具体来说,是远处平面处于固定位置,这意味着它是否始终与摄像机保持固定距离?它改变了吗?大约1K米似乎有意义吗?

1 个答案:

答案 0 :(得分:1)

unprojectPoint功能使用与相机相同的投影。如果您想知道相机投影的近距离和远距离平面是什么,请向视图询问其pointOfView节点,向该节点询问其camera,并向相机询问其zNearzFar设置。