如何获取SCNPhyisicsBody的当前速度?SceneKit:SCNPhysicsBody获取当前速度
velocity属性总是返回(0.0,0.0,0.0),我的SCNNode的prensetationNode的physicsBody也是零。
如何获取SCNPhyisicsBody的当前速度?SceneKit:SCNPhysicsBody获取当前速度
velocity属性总是返回(0.0,0.0,0.0),我的SCNNode的prensetationNode的physicsBody也是零。
你可以得到
physicsBody.velocity
“当前” 速度但这仅对内的 “游戏循环” 回调(updateAtTime,didApplyAnimations,didSimulatePhysics,将/ didRenderScene)。
...在您的视图控制器,你必须使用SCNSceneRendererDelegate协议一样
class GameViewController: UIViewController,SCNSceneRendererDelegate{...
,并在viewDidLoad方法设置SCNView委托 scnView.delegate =自
然后你就可以实现例如
func renderer(renderer: SCNSceneRenderer, didRenderScene scene: SCNScene, atTime time: NSTimeInterval) {
let scnView = self.view as! SCNView
let scene = scnView.scene
let compass = scene?.rootNode.childNodeWithName("ObjectName", recursively: true)
print((compass?.physicsBody?.angularVelocity)!)
}
这在我的情况下工作。 希望它有一点帮助!
您是否找到答案?另外你如何直接在SCNNode上设置速度? – Crashalot