跟随cameraNode的节点及其physicsBody

时间:2018-06-08 10:32:24

标签: swift scenekit augmented-reality arkit

我正在开发AR游戏,我需要在场景中添加一个节点,该节点将跟随cameraNode。 我试图将该节点附加到cameranode的层次结构中:

self.sceneView.pointOfView?.addChildNode(node)

该节点确实跟随相机,但它的物理体不会随着它移动,因为我看到在调试模式下运行应用程序。

self.sceneView.debugOptions = [ARSCNDebugOptions.showWorldOrigin, SCNDebugOptions.showPhysicsShapes]

我应该如何添加节点来执行这两个条件?:

  1. 节点正在跟随摄像机移动
  2. 它的物理身体也跟着镜头移动

2 个答案:

答案 0 :(得分:0)

对于关注相机的节点,您需要使用SCNDistanceConstraintSCNLookAtConstraint

了解他们here

还可以使用SCNPhysicsVehicle类来模拟运动行为的真实物理。

了解它here

答案 1 :(得分:0)

一切都变得容易了。如果你想在摄像机后面添加一个带有physicalBody的节点,你应该把它添加到cameranode层次结构中,就像我之前做的那样,但是(重要的)你应该使它的身体运动类型。

let body = SCNPhysicsBody(type: .kinematic, shape: SCNPhysicsShape(node: node))

现在它完美无缺