2017-05-07 58 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