我正在使用AR在iOS平台中实现SceneKit应用。我想先旋转然后再旋转。对于移动旋转侧,我发现在CMAttitude类下有一个称为quaternion的参数,但是我不确定如何使用该参数旋转场景中加载的对象。有任何想法吗?

最佳答案

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应用程序尝试了此操作。

关于ios - 如何使用传感器数据影响SceneKit中的对象?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41691302/

10-12 19:43