swift SceneKit -忽略前景中SCNNode上的触摸,并将触摸转移到背景节点

z6psavjg  于 2023-03-11  发布在  Swift
关注(0)|答案(1)|浏览(128)

我正在尝试制作一个应用程序,用户可以在ARSCN视图上测量距离。我有一个场景,其中有2个SCN节点在彼此的顶部。Node1总是在前面,因为它的深度信息。Node2是有用的测量和获得准确的测量。我想忽略对node1的触摸,只获得对node2的触摸位置。
当我隐藏node1时,node2上的触摸可以正确识别,但是,我仍然需要node1对用户可见。
我尝试更改renderingOrder并确保在node1之后将node2添加到rootNode,但没有成功。
我还验证了点击一个点时的hitTest数组,只有node1上的hitTest被识别并出现在数组中,所以我也不能选择不同的hitTestResult。
更多信息:Node1是占据大空间的巨大节点,并且Node2由多个子节点形成。

ccrfmcuu

ccrfmcuu1#

您可以使用不同的位掩码(SCNNodecategoryBitmask)来执行hitTestResult
或者,如果在SCNNodes上涉及到physicsBodies,则可以对其物理categoryBitmasks进行射线测试。(scene.physicsWorld.rayTestWithSegment

相关问题