在SCNARView
中,我可以访问名为camera node
的worldFront
属性,该属性表示摄像机旋转。我想从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/