作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 SceneKit SCNBox 立方体,它应该跟随我的 iphone 的所有 Action 。因此,如果我的 iPhone 横向旋转 90 或 360 度,立方体应该也旋转 90 或 360 度,如果我向前旋转我的手机,立方体应该像手机一样旋转。
我已经尝试使用 startDeviceMotionUpdatesUsingReferenceFrame,但它与我手机的移动不匹配 :(
motionManager.deviceMotionUpdateInterval = 1.0 / 60.0
motionManager.startDeviceMotionUpdatesUsingReferenceFrame(
CMAttitudeReferenceFrame.XArbitraryZVertical,
toQueue: NSOperationQueue.mainQueue(),
withHandler: { (motion: CMDeviceMotion!, error: NSError!) -> Void in
let currentAttitude = motion.attitude
let roll = Float(currentAttitude.roll)
let pitch = Float(currentAttitude.pitch)
let yaw = Float(currentAttitude.yaw)
self.arrRoll.append(roll)
self.arrPitch.append(pitch)
self.arrYaw.append(yaw)
cubeNode.eulerAngles = SCNVector3Make(roll, 0.0, 0.0)
cubeNode.eulerAngles = SCNVector3Make(0.0, 0.0, pitch)
cubeNode.eulerAngles = SCNVector3Make(0.0, yaw, 0.0)
})
最佳答案
您的代码片段有点断章取义,但让我震惊的是您(很可能是无意中)覆盖了节点的 eulerAngles
属性。
为什么你有 3 个单独的分配(只有最后一个会产生影响),而不是:
cubeNode.eulerAngles = SCNVector3Make(roll, yaw, pitch)
?
关于Swift - 使用 motionManager 加速度计、陀螺仪和磁力计来移动 SceneKit 节点,就像 iPhone 的移动一样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31162286/
我正在尝试将加速度计与 Monotouch 一起使用,但 MotionManager 出现问题。2-3 秒后停止发送更新。 这是代码。 (一切都在我的主要 UIView 的构造函数中创建)。 CMMo
我有一个 SceneKit SCNBox 立方体,它应该跟随我的 iphone 的所有 Action 。因此,如果我的 iPhone 横向旋转 90 或 360 度,立方体应该也旋转 90 或 360
我是一名优秀的程序员,十分优秀!