Swift SceneKit - 物理块不会相互粘连

时间:2017-11-09 13:36:43

标签: swift physics scenekit

区块刚崩溃。
如何解决这个问题呢? 初始化块:

var boxNode = SCNNode(geometry: SCNBox(width: 0.75, height: 0.15, length: 0.25, chamferRadius: 0))
boxNode.position = SCNVector3(x: x1, y: y, z: z1)
boxNode.geometry?.firstMaterial = SCNMaterial()
boxNode.geometry?.firstMaterial?.diffuse.contents = UIImage(named: "wood.jpg")
boxNode.physicsBody = SCNPhysicsBody(type: .dynamic, shape: nil)
boxNode.eulerAngles.y = Float(Double.pi / 2) * rotation

boxNode.physicsBody?.friction = 1
boxNode.physicsBody?.mass =  0.5
boxNode.physicsBody?.angularDamping = 1.0
boxNode.physicsBody?.damping = 1

React v15.0 changelog

picture

video

1 个答案:

答案 0 :(得分:1)

我无法告诉你如何解决它,因为我有完全相同的问题,我无法解决。然而,当我玩的时候,我想出了一些事情(你可能会觉得有用):

  1. 纯粹的SceneKit中没有发生同样的问题,因此我认为这是ARKit

  2. 中的错误
  3. 必须将具有物理的节点添加到场景的rootNode,否则会发生奇怪的事情(元素相互穿过,重力以不一致的方式表现)

  4. 如果您将nil作为shape参数传递,SceneKit将根据节点的几何图形来计算边界框。这对我来说没有用,所以我所做的(使用SceneKit编辑器)是复制几何体,然后将其设置为边界框的自定义形状(看一下附图)< / p>

  5. SceneKit Editor

    总的来说,SceneKitARKit一起使用时发现物理模拟是非常错误的,我花了很多时间“欺骗”它或多或少地按照我想要的方式工作工作。