请帮助我正确应用设备旋转数据

问题描述 投票:5回答:1

所以我有一个我想做的项目。我正在尝试使设备相对于重力旋转,并从其起始位置开始平移。因此,基本上可以获取设备的“跟踪”数据。我计划通过制作3d pt来基本应用此功能,以模仿我以后从设备记录的数据。

无论如何尝试实现这一目标,我认为最好与场景工具一起使用,这样我就可以像查看我要记录的数据一样在3维中看到事物。现在,我一直在尝试使船旋转,以使其始终看起来像其跟随重力(例如其在地面上或其他物体),而与设备旋转无关。我认为一旦掌握了这一点,将其应用到一点上就很容易了。所以我做了下面的代码:

if let attitude = motionManager.deviceMotion?.attitude {
        print(attitude)


        ship.eulerAngles.y = -Float(attitude.roll)
        ship.eulerAngles.z = -Float(attitude.yaw)
        ship.eulerAngles.x = -Float(attitude.pitch)

    }

[当您只运行其中一条旋转线时,一切就完美了。它在该轴上的行为确实正确。但是,当我同时执行所有三个轴时,它变得混乱,并且在抖动和其他所有方面的表现都远非预期。

我想我的问题是:有谁知道如何在上面修复我的代码,以便无论方位如何,船都可以正确“直立”。

所以我有一个我想做的项目。我正在尝试使设备相对于重力旋转,并从其起始位置开始平移。因此,基本上可以获取设备的“跟踪”数据。...

ios swift scenekit gyroscope cmmotionmanager
1个回答
8
投票

J.Doe!

© www.soinside.com 2019 - 2024. All rights reserved.