我正在经历一些SceneKit概念,并且我试图巩固在我的脑海中的是unprojectPoint。SceneKit unproject Z文档说明?
我知道这个函数在2D中需要一个点,并在3D中返回一个点(所以有一个具有合适Z值的点)。
当我读我读这篇文章的文档:
/*!
@method unprojectPoint
@abstract Unprojects a screenspace 2D point with depth info using the receiver's current point of view and viewport.
@param point The screenspace position to be unprojected.
@discussion A point whose z component is 0 (resp. 1) is unprojected on the near (resp. far) clip plane.
*/
public func unprojectPoint(_ point: SCNVector3) -> SCNVector3
什么我不是太清楚是值0和当谈到绕Z轴采用1 ....
一其z分量为0(或1)的点在近(相对于远)剪辑平面上未被投影。
当我在网上阅读周围我随后发现这样一个问题:
How to use iOS (Swift) SceneKit SCNSceneRenderer unprojectPoint properly
当我对付SceneKit看来,Z = 0总是近平面和Z = 1的远飞机吗?如果是这样,为什么?而且,Z = 0和Z = 1只是标准化值?
那么,有人可以帮助我理解为什么在这种情况下,值0和1被用于Z?并最终帮助我了解:
其z分量为0(或1)的点在近(相对于远)剪辑平面上未投影。
声明?
人,在这里一些好东西来消化。谢谢。因此,以简单的术语,我可以说Z = 0,是近平面的归一化Z值,Z = 1是远平面的Z值(由于您概述的相对深度概念)。正确? – zumzum