如何使用传感器数据来影响SceneKit中的对象?

时间:2017-01-17 07:29:55

标签: ios sensor scenekit

我正在使用AR在iOS平台上实施SceneKit个应用。我想让我的物体旋转,然后移动旋转。对于移动旋转方面,我发现在CMAttitude类下有一个名为quaternion的参数,但我不知道如何使用此参数来旋转我在场景中加载的对象。有什么想法吗?

2 个答案:

答案 0 :(得分:1)

let motionManager = CMMotionManager()
motionManager.deviceMotionUpdateInterval = 1.0 / 60.0
if motionManager.isDeviceMotionAvailable {
    motionManager.startDeviceMotionUpdates(to: OperationQueue.main, withHandler: { (devMotion, error) -> Void in
        //change the left camera node euler angle in x, y, z axis
        cameraNode.eulerAngles = SCNVector3(
            -Float((devMotion?.attitude.roll)!) - Float(M_PI_2),
            Float((motionManager.deviceMotion?.attitude.yaw)!),
            -Float((motionManager.deviceMotion?.attitude.pitch)!)
        )
    })}

我在iPad上使用Playground应用程序尝试了这个。

答案 1 :(得分:0)

我尝试过使用Core Motion,但我所做的就是旋转scnCamera