Ios 在3d空间中对UIgestureRecognitor进行命中测试

Ios 在3d空间中对UIgestureRecognitor进行命中测试,ios,3d,uigesturerecognizer,scenekit,Ios,3d,Uigesturerecognizer,Scenekit,我对iOS的SceneKit相当陌生,在3d场景中的用户交互方面遇到了一个难题: 我在SCNView中有一组SCNNode立方体,希望能够将用户触摸给定立方体网格的点作为3d坐标固定(以便以后根据触摸向量操纵场景)。目前,我一直在使用uigesturecognizer来实现基本的命中测试,但这似乎仅限于返回2d点 当想要点击测试整个节点本身时,这不是问题,因为这可以通过SCNView中的uigesturecognizer的点击测试方法实现。但是,对于如何精确定位触摸在节点上的位置,有人有什么建议

我对iOS的SceneKit相当陌生,在3d场景中的用户交互方面遇到了一个难题:

我在
SCNView
中有一组
SCNNode
立方体,希望能够将用户触摸给定立方体网格的点作为3d坐标固定(以便以后根据触摸向量操纵场景)。目前,我一直在使用
uigesturecognizer
来实现基本的命中测试,但这似乎仅限于返回2d点

当想要点击测试整个节点本身时,这不是问题,因为这可以通过
SCNView
中的
uigesturecognizer
的点击测试方法实现。但是,对于如何精确定位触摸在节点上的位置,有人有什么建议吗


谢谢

SCNView
上调用
hitTest:options:
,您的方法是正确的。正如您可能已经看到的,它会产生一个
scnhittsresults
数组

命中测试结果可以告诉您很多关于命中的信息,其中之一就是节点被击中了。您要查找的是
本地坐标
世界坐标

局部坐标相对于被击中的节点。因为你在问“如何精确定位触控点落在节点上的位置”,这可能就是你要找的


世界坐标相对于根节点。

完美!非常感谢这一点;这正是我想要的:)