您的位置:首页 > 其它

ARKit 屏幕坐标到三维坐标到转换

2017-11-13 14:36 761 查看
思路:

1.取得屏幕坐标:

CGPoint

2.根据2D坐标取得3D模型:

ARHitTestResult

3.通过SCNVector3Make将ARHitTestResult的worldTransform.columns[3].x,worldTransform.columns[3].y,worldTransform.columns[3].z做成SCNVector3,即可得到3维坐标。

实现:

1、获取屏幕坐标:

1.1 点击坐标:-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event

1.2 直接通过button点击,取屏幕中心坐标:self.view.center(这个比较方便,个人推荐)

2、2D转换3D模型

通过ARSCNView的-(NSArray<ARHitTestResult *> *)hitTest:(CGPoint)point types:(ARHitTestResultType)types方法,得到3D模型,例如:

NSArray<ARHitTestResult *> *arrayResult = [self.sceneView
hitTest:self.view.center
types:ARHitTestResultTypeFeaturePoint];
fdsa

3、转为3维坐标:

SCNVector3 centerVector3 =
SCNVector3Make(arrayResult[0].worldTransform.columns[3].x, arrayResult[0].worldTransform.columns[3].y, arrayResult[0].worldTransform.columns[3].z);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: