SCNARView中,我可以访问名为camera nodeworldFront属性,该属性表示摄像机旋转。我想从CoreMotion值不使用SCNARView来计算相似的矢量,只是从CoreMotion来的数据。这样,如果相机朝向相同方向,我就可以得到一个等于worldFront中的SCNARView的向量。有人可以解释我如何计算这样的值吗?

最佳答案

态度属性可能会有所帮助

func rollCam(motion: CMDeviceMotion) {
    let attitude = motion.attitude
    let roll     = Float(attitude.roll-M_PI/2)
    let yaw      = Float(attitude.yaw)
    let pitch    = Float(attitude.pitch)
    camNode.eulerAngles = SCNVector3Make(roll, -yaw, pitch)
}


在很久以前,通过这段代码,我对CoreMotion进行了一些实验。我试图首先检测人的行走,然后(使用startDeviceMotionUpdates数据)移动并滚动摄像机,使其靠近“锚定” SCNBox。后来在ARKit上使用ARAnchor类解决了我的需求

您要负责什么功能?

关于swift - 像在SCNARView中一样计算worldFront,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50916439/

10-09 02:28