Ios 在3d空间中对UIgestureRecognitor进行命中测试
我对iOS的SceneKit相当陌生,在3d场景中的用户交互方面遇到了一个难题: 我在Ios 在3d空间中对UIgestureRecognitor进行命中测试,ios,3d,uigesturerecognizer,scenekit,Ios,3d,Uigesturerecognizer,Scenekit,我对iOS的SceneKit相当陌生,在3d场景中的用户交互方面遇到了一个难题: 我在SCNView中有一组SCNNode立方体,希望能够将用户触摸给定立方体网格的点作为3d坐标固定(以便以后根据触摸向量操纵场景)。目前,我一直在使用uigesturecognizer来实现基本的命中测试,但这似乎仅限于返回2d点 当想要点击测试整个节点本身时,这不是问题,因为这可以通过SCNView中的uigesturecognizer的点击测试方法实现。但是,对于如何精确定位触摸在节点上的位置,有人有什么建议
SCNView
中有一组SCNNode
立方体,希望能够将用户触摸给定立方体网格的点作为3d坐标固定(以便以后根据触摸向量操纵场景)。目前,我一直在使用uigesturecognizer
来实现基本的命中测试,但这似乎仅限于返回2d点
当想要点击测试整个节点本身时,这不是问题,因为这可以通过SCNView
中的uigesturecognizer
的点击测试方法实现。但是,对于如何精确定位触摸在节点上的位置,有人有什么建议吗
谢谢 在
SCNView
上调用hitTest:options:
,您的方法是正确的。正如您可能已经看到的,它会产生一个scnhittsresults
数组
命中测试结果可以告诉您很多关于命中的信息,其中之一就是节点被击中了。您要查找的是本地坐标
或世界坐标
局部坐标相对于被击中的节点。因为你在问“如何精确定位触控点落在节点上的位置”,这可能就是你要找的
世界坐标相对于根节点。完美!非常感谢这一点;这正是我想要的:)