ios - ARKit - SCNNode 连续运动

标签 ios swift scenekit 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)

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

作为一个要求,我需要让方 block 保持动态,它们需要受到重力、风等的影响。

最佳答案

这个问题很可能与一个叫做动态的因素有关,它允许它连续移动,或者可能与物体相互碰撞有关,要解决这个问题,您所要做的就是将碰撞掩码更改为两个不同的数字。

关于ios - ARKit - SCNNode 连续运动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48946846/

相关文章:

ios - 如何防止 ARSCNView 在方向更改期间旋转

ios - 在显示按钮之前检查是否可以进行应用内购买

ios - 从 native 代码调用 JavaScript 函数

ios - 如何在不加载 ios 屏幕的情况下拍摄 View Controller 的快照?

swift - ARKit - 在 Swift 3 中的平面上的 2 个矢量点之间放置一个 SCNPlane

swift - SKAction 不适用于 overlaySKScene?

SceneKit 水就像 Badger 示例中的那样

ios - 执行 UIAlertController 时获取 nil

swift - 多次发送多个通知 (Swift)

ios - Swift UITableView 删除行项目 - tableview 数据源是 Core Data