Swift cameraNode后面的节点及其physicsBody
我正在开发一个AR游戏,我需要在场景中添加一个节点,该节点将跟随Swift cameraNode后面的节点及其physicsBody,swift,scenekit,augmented-reality,arkit,Swift,Scenekit,Augmented Reality,Arkit,我正在开发一个AR游戏,我需要在场景中添加一个节点,该节点将跟随cameraNode。 我尝试将该节点附加到cameranode的层次结构,如下所示: self.sceneView.pointOfView?.addChildNode(node) 节点确实跟随相机,但它的物理实体并没有随着它移动,因为我看到在调试模式下运行应用程序 self.sceneView.debugOptions = [ARSCNDebugOptions.showWorldOrigin, SCNDebugOptions.s
cameraNode
。
我尝试将该节点附加到cameranode的层次结构,如下所示:
self.sceneView.pointOfView?.addChildNode(node)
节点确实跟随相机,但它的物理实体并没有随着它移动,因为我看到在调试模式下运行应用程序
self.sceneView.debugOptions = [ARSCNDebugOptions.showWorldOrigin, SCNDebugOptions.showPhysicsShapes]
我应该如何添加节点以执行这两个条件
对于跟随摄影机的节点,需要使用
SCNDistanceConstraint
和SCNLookAtConstraint
了解他们
还可以使用SCNPhysicsVehicle
类来模拟运动行为的真实物理
读一读。一切都变得容易多了。如果要在摄影机后面添加节点及其physicalBody,应将其添加到cameranode层次结构中,就像我之前所做的那样,但(这很重要)应使其躯干为运动学类型
let body = SCNPhysicsBody(type: .kinematic, shape: SCNPhysicsShape(node: node))
现在它可以完美地工作了我尝试同时使用SCNDistanceConstraint和SCNLookAtConstraint,但我没有得到我想要的。起初,节点的方向是错误的,尽管其方向设置得更早。其次,节点不跟随摄影机移动。所以我认为这个解决方案不适合我