我有几个带有Kinematic phyisicsBodyType的节点,我希望它与某些粒子System进行交互,我的意思是我想检测碰撞并在节点与粒子系统中的nay粒子碰撞时执行一些代码。我通过添加事件处理程序找到了一种方法,但我不确定如何使用它(link to method here)。
有人可以解释我如何使用该事件处理程序(首选是在Swift中解释我),或者你能否给我另一个想法?
答案 0 :(得分:4)
最后很简单。首先,您必须将一组节点分配给粒子系统的colliderNodes
属性。之后,swift中的代码看起来像这样:
particleSystem.handleEvent(SCNParticleEvent.Collision, forPropierties:[SCNParticlePropertyContactPoint], withBlock: {
(data: UnsabeMutablePointer<UnsafeMutablePointer<Void>>, dataStride: UnsafeMutablePointer<Int>, indicies: UnsafeMutablePointer<UInt32>, count:Int) in
//code on detection collision goes here
})
在apple documentation中简要解释了每个参数。