我想丢掉很多具有重力的3d模型,例如ARKit检测到的平面节点上的雨。
当我设置从平面节点降到较低位置的节点的y坐标时,它可以工作。
成功演示视频 https://youtu.be/VA2b2lDyoI4
但是,当我将y坐标从平面节点设置为高时,它失败了。具体来说,几乎3D模型不会掉落在平面节点上。
故障演示视频 https://youtu.be/an0oclgDDRg
如果您能指出我的错误观点,我将不胜感激。
@objc func update(tm: Timer) {
if let ballNode = self.ballNode, let planeNode = self.planeNode {
let cloneBall = ballNode.clone()
let (min, max) = planeNode.boundingBox
let x = Float.random(in: min.x...max.x)
let y = Float.random(in: min.y...max.y)
let z = Float.random(in: min.z...max.z)
let cloneBallPosition = planeNode.convertPosition(SCNVector3(x, y, z), to: nil)
cloneBall.position = cloneBallPosition
//If I set the y coordinate 0.05, it will work.
//cloneBall.position.y += 0.05
//If I set the y coordinate 1, it will not work.
cloneBall.position.y += 1
sceneView.scene.rootNode.addChildNode(cloneBall)
}
}