iOS设备对增强现实的态度

时间:2016-05-02 21:46:54

标签: javascript ios swift three.js augmented-reality

我想使用swift跟踪iPhone的设备运动,然后将其移交给WebView以相应地旋转THREE.js。 (使用THREE.js而不是在OpenGL中进行渲染的原因是出于与我们网站的兼容性原因。)

目前使用

快速跟踪设备动作
let motionManager = CMMotionManager()
motionManager.accelerometerUpdateInterval = 1
motionManager.gyroUpdateInterval = 1
motionManager.deviceMotionUpdateInterval = 1/60
motionManager.showsDeviceMovementDisplay = true;

motionManager.startDeviceMotionUpdatesToQueue(NSOperationQueue.currentQueue()!) {
    (motionData: CMDeviceMotion?, NSError) -> Void in
    self.outputData(motionData!.attitude.quaternion.x, motionData!.attitude.quaternion.y, motionData!.attitude.quaternion.z, motionData!.attitude.quaternion.w)

    if(NSError != nil) {
        print("\(NSError)")
    }
}

outputData函数只将四个参数移交给THREE.js,其中以下代码被执行:

camera.quaternion.set(x, y, z, w);

不幸的是,它根本不起作用。

我知道,由于姿势与躺在桌子上的手机对齐而不是放在用户面前,因此旋转了90°,但这将是下一步。

为简单起见,该应用目前仅限于纵向模式。

任何想法如何将数据从iOS attitude.quaternion转换为THREE.js(或任何其他基于webGL / OpenGL的引擎)可以使用的方式?

0 个答案:

没有答案