与场景套件角度混淆

时间:2015-02-22 16:31:42

标签: iphone xcode swift math scenekit

我正在使用场景工具包制作fps控制器,我在网上找到了这个示例代码。除了脉冲矢量的第二次分配外,我理解了一切。有人可以回顾一下

中发生的事情
    impulse = SCNVector3(
        x: impulse.x * cos(angle) - impulse.z * sin(angle),
        y: 0,
        z: impulse.x * -sin(angle) - impulse.z * cos(angle)
        )

由于

func renderer(aRenderer: SCNSceneRenderer, updateAtTime time: NSTimeInterval) {

    //get walk gesture translation
    var translation = walkGesture.translationInView(self.view)

    //create impulse vector for hero
    let angle = heroNode.presentationNode().rotation.w * heroNode.presentationNode().rotation.y
    var impulse = SCNVector3(x: max(-1, min(1, Float(translation.x) / 50)), y: 0, z: max(-1, min(1, Float(-translation.y) / 50)))
    impulse = SCNVector3(
        x: impulse.x * cos(angle) - impulse.z * sin(angle),
        y: 0,
        z: impulse.x * -sin(angle) - impulse.z * cos(angle)
        )
        heroNode.physicsBody?.applyForce(impulse, impulse: true)
}

0 个答案:

没有答案