我正在尝试制作一个应用程序,用户可以在ARSCN视图上测量距离。我有一个场景,其中有2个SCN节点在彼此的顶部。Node1总是在前面,因为它的深度信息。Node2是有用的测量和获得准确的测量。我想忽略对node1的触摸,只获得对node2的触摸位置。
当我隐藏node1时,node2上的触摸可以正确识别,但是,我仍然需要node1对用户可见。
我尝试更改renderingOrder并确保在node1之后将node2添加到rootNode,但没有成功。
我还验证了点击一个点时的hitTest数组,只有node1上的hitTest被识别并出现在数组中,所以我也不能选择不同的hitTestResult。
更多信息:Node1是占据大空间的巨大节点,并且Node2由多个子节点形成。
1条答案
按热度按时间ccrfmcuu1#
您可以使用不同的位掩码(
SCNNode
的categoryBitmask
)来执行hitTestResult
。或者,如果在
SCNNodes
上涉及到physicsBodies
,则可以对其物理categoryBitmasks
进行射线测试。(scene.physicsWorld.rayTestWithSegment
)