2017-05-07 59 views
2

是否有可能,这样,当发送的则hitTest射线忽略SceneKit的则hitTest一个对象,它通过一个对象?我仍然想看到两个物体,我只是想让光线忽略另一个物体。忽略的对象则hitTest

Here顶部图像显示了它是如何工作的,现在,底部是我想拥有的。

enter image description here

我认为,这将有可能通过将球体另一种观点,但我不认为我能看到的对象即可。

回答

3

执行点击测试时,您可以使用SCNHitTestOptionCategoryBitMask选项限制的一组被测试的节点。

节点都有一个categoryBitMask财产,仅药粥其满足以下的条件将参与命中测试:

node.categoryBitMask & hitTestOptionCategoryBitMask != 0 
+0

'hitTestOptionCategoryBitMask'不是SceneKit API。这只是一个变量/值的占位符,用于与命中测试选项字典中的“SCNHitTestOptionCategoryBitMask”键关联的值。 – mnuages

+0

,我不知道你是否了解,我希望能够到的HitTest飞机,即使有其他对象,相机和平面之间。我认为,hittesting时,通过做事情一样,如果node.categorybitmask == 1 {..}它只是不会则hitTest – superman

+0

式显示了什么SceneKit将在内部做决定节点是否应该参与命中测试。这不是你必须做的事情。唯一需要改变的是为您的飞机设置一个位掩码,并在执行命中测试时指定一个位掩码作为选项。 – mnuages