物理体在SceneKit中位于节点之上

时间:2017-11-11 07:08:27

标签: ios iphone scenekit ios11 arkit

我在SceneKit中创建了一个SCNNode对象,并在其上添加了一个Physics主体,使用ARKit放置在AR世界中。我试过从代码和Xcode的.scn编辑器创建body。然而,在这两种情况下,物理体都被放置在不同于节点位置的位置。

以下是物理机构的代码:

    let dimension: CGFloat = 0.15
    let height: CGFloat = 0.3
    let boxBodyShape = SCNPhysicsShape(geometry: SCNBox(width: dimension,
                                                        height: height,
                                                        length: dimension,
                                                        chamferRadius: 0),
                                       options: [SCNPhysicsShape.Option.type: SCNPhysicsShape.ShapeType.boundingBox])
    let boxBody = SCNPhysicsBody(type: .kinematic, shape: boxBodyShape)


    self.physicsBody = boxBody
    self.physicsBody?.categoryBitMask = Utilities.CollisionCategoryTree
    self.physicsBody?.contactTestBitMask = Utilities.CollisionCategoryAiko
    self.physicsBody?.mass = 100.0
    self.physicsBody?.friction = 1
    self.physicsBody?.restitution = 1
    self.physicsBody?.damping = 1
    self.physicsBody?.isAffectedByGravity = false

这是非常简单和传统的代码,但是当我将SceneKit与ARKit一起使用时它对我不起作用

当我尝试在对象上创建一个盒形物理体时,我在Xcode中看起来是这样的:

enter image description here

我也试过凸形身体。在凸起形状的情况下,它在物体位置上方创建身体方式。这是截图:

enter image description here

物理机身盒距原点一半。不确定原因是什么。有人遇到过这个问题吗?

0 个答案:

没有答案