ARKit - SCNNode连续移动

Mac*_*ret 6 ios scenekit swift arkit

我正在尝试创建一个用户堆叠不同几何形状的应用程序.在加载到ARSCNView内的.scn文件中,我插入一个静态平面,然后在用户的每次点击时,应用程序插入一个动态SCNNode.

第一个节点插入平面上方几英寸处,以复制掉落的物体.然后,每个其他节点都被丢弃在另一个节点之上.

这是该应用程序的主要思想; 在添加3个或4个节点后出现问题,它们看起来互相滑动,几乎抖动,整个结构崩溃.

这是我插入的节点:

let dimension: CGFloat = 0.075
let cube = SCNBox(width: dimension, height: dimension, length: dimension, chamferRadius: 0.0)
let node = SCNNode(geometry: cube)

node.physicsBody = SCNPhysicsBody(type: SCNPhysicsBodyType.dynamic, shape: nil)
node.physicsBody?.mass = 2.0

node.physicsBody?.friction = 1.0
node.physicsBody?.restitution = 0.01

node.physicsBody?.damping = 0.0
node.physicsBody?.angularDamping = 0.0

node.physicsBody?.rollingFriction = 1.0

node.physicsBody?.allowsResting = true

let insertionYOffset = 0.3
node.position = SCNVector3(hitResult.worldCoordinates.x, hitResult.worldCoordinates.y + Float(insertionYOffset), hitResult.worldCoordinates.z)
Run Code Online (Sandbox Code Playgroud)

我试图使用这些值,这些是最好的,但它们不足以创建稳定的块结构.

作为一项要求,我需要保持块的动态,它们需要受到重力,风等的影响.

小智 1

该问题很可能与称为“动态”的因素有关,该因素将允许其连续移动,或者可能与对象相互碰撞有关,要解决该问题,您所要做的就是将碰撞掩码更改为两个不同的数字。