[注意:这个问题是在iOS11/High Sierra预发行期间针对ARKit的测试版编写的.仅保留历史利益]
我看到的世界坐标系原点不稳定的位置和方向,当我设置ARWorldTrackingSessionConfiguration.worldAlignment到.gravityAndHeading.
场景打开后原点的位置稳定.但是轴通常围绕Y轴旋转180度或90度.
我还缺少一个额外的设置吗?我正在运行2017 iPad(vanilla,而非Pro)和Xcode 9 beta 2.我在这台iPad上测试了一些指南针应用程序,它们给了我正确的结果,所以我相信硬件运行正常.
override func viewDidLoad() {
super.viewDidLoad()
// Set the view's delegate
sceneView.delegate = self
// Show statistics such as fps and timing information
sceneView.showsStatistics = true
// Create a new scene
let scene = SCNScene()
// debug options
let debugOptions: SCNDebugOptions = [ARSCNDebugOptions.showFeaturePoints,ARSCNDebugOptions.showWorldOrigin]
sceneView.debugOptions = debugOptions
// Set the scene to the view
sceneView.scene = scene
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
// Create a session configuration
let configuration = ARWorldTrackingSessionConfiguration()
configuration.worldAlignment = .gravityAndHeading
configuration.planeDetection = .horizontal
// Run the view's session
sceneView.session.run(configuration)
}
Run Code Online (Sandbox Code Playgroud)
这里有一些样本(所有这些样本我都面向南方).
正X和Z指向西和北(不正确,180度异相):
正X和Z指向东南和西南(接近正确):
正X和Z指向东和南(正确),但原点移位了几米:
正X和Z指向南和西(相位相差90度):
y轴与设备的运动传感硬件检测到的重力方向相匹配; 也就是说,向量(0,-1,0)指向下方.
x轴和z轴与位置服务测量的经度和纬度方向匹配.向量(0,0,-1)指向真北,向量(-1,0,0)指向西.(也就是说,正x轴,y轴和z轴分别指向东,向上和南方.)
小智 0
我偶尔会得到随机世界原点,其中 Y 轴不与重力对齐,但可能倾斜 45 度。这是在 Xcode 9.1(测试版)和 iOS 11.0.3 上。如果我重置会话,它会重新正确检测 Y 轴。(我正在使用重力和标题)。
至于前进方向,我在市中心一座新的多层金属/砖/灰泥建筑中。室内磁北探测几乎是不可能的。我已经用许多不同的设备对此进行了广泛的测试。(我正在做无人机导航)。症状是由于磁场极低而向北漂移。所以有时它会起作用,但可能会在几秒钟内改变+-90度。
看起来你正在室内进行测试,有一些砖墙......
| 归档时间: |
|
| 查看次数: |
1133 次 |
| 最近记录: |