我有几个具有运动学 phyisicsBodyType 的节点,我希望它与某些粒子系统交互,我的意思是我想检测碰撞并在节点与粒子系统中的 nay 粒子碰撞时执行一些代码.我找到了一种添加事件处理程序的方法,但我不太确定如何使用它 ( link to method here )。
谁能解释一下我如何使用该事件处理程序(最好是用 Swift 解释一下),或者你能给我另一个想法吗?
最佳答案
最后很简单。首先,您必须将节点数组分配给粒子系统的 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 中进行了简要说明。 .
关于ios - 检测 SceneKit 中粒子和节点之间的碰撞,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31856763/