2017-08-02 48 views
0

我想做一個簡單的小行星遊戲,小行星從遠處繞過你(z> 0)在SceneKit中。在SceneKit的動畫過程中碰撞是否會起作用?

let moveAction = SCNAction.move(to: SCNVector3(0, -10, 10), duration: 2) 
rockNode.runAction(moveAction) 

說我必須在Z軸0飛船,即使我可以直觀地看到小行星穿過飛船,並沒有發生碰撞檢測。碰撞只發生在moveAction的終點在Z軸0和與太空船相同的位置處結束時。

檢測是否僅在moveAction結束後發生(因此不會檢測到碰撞)?如果是的話,在小行星運動期間,我有什麼解決方案來檢測碰撞?

回答

0

您是否將isDynamic設置爲對您的兩個對象都爲true?並且它們都需要具有不同的categoryBitmasks,否則SceneKit會將它們視爲相同的對象(無法評論還沒有50個rep)如果不是,那麼即使以編程方式移動對象時也應該發生碰撞

+0

聯繫人做如果動畫在與太空船相同的位置結束,則發生這種情況,所以這不是「未發生接觸,因爲沒有設置categoryBitmasks問題。 –