使用SceneKit和CoreMotion注视SCNNode

时间:2015-05-19 15:20:30

标签: ios swift scenekit core-motion

我正在使用SceneKit和CoreMotion创建虚拟现实应用程序。一切都运行正常,但现在我想编写一个函数来检查用户是否通过计算对象在眼睛空间中的位置来查看对象。

我正在使用SCNSceneRendererDelegate在我的ViewController中委派渲染器函数

java -DJENKINS_HOME=/Users/Heros/jenkins -jar jenkins.war  --httpPort=8484

我在Android中编写了以下代码(支持官方Cardboard SDK)。

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

    var motion = motionManager?.deviceMotion

    if (motion != nil) {
        let currentAttitude = motion!.attitude
        let roll = Float(currentAttitude.roll)
        let pitch = Float(currentAttitude.pitch)
        let yaw = Float(currentAttitude.yaw)

        cameraRollNode.eulerAngles = SCNVector3Make(roll, 0.0, 0.0)
        cameraPitchNode.eulerAngles = SCNVector3Make(0.0, 0.0, pitch)
        cameraYawNode.eulerAngles = SCNVector3Make(0.0, yaw, 0.0)        }
}

有没有办法使用CoreMotion和SceneKit计算眼睛空间中的对象

1 个答案:

答案 0 :(得分:0)

如果您正在寻找的是物体是否在视野中,您不需要自己进行任何坐标转换数学运算。只需询问视图 - there's a method for that