AR 描画アプリを開発していますが、AR Kit 3 でバグ/問題が発生しました。ワールド トラッキングが機能しなくなり、AR ビューに追加された 3D オブジェクトがフリーズします。
私のアプリは、フロント カメラとバック カメラを切り替えます。どちらの場合も、ワールド トラッキングを有効にしています。
1. バックカメラ セッションを次のように有効にします。
let configuration = ARWorldTrackingConfiguration()
configuration.isLightEstimationEnabled = true
configuration.planeDetection = [.horizontal, .vertical]
if #available(iOS 13.0, *) {
configuration.frameSemantics = [.personSegmentationWithDepth]
}
sceneView.session.run(configuration)
シーン セッションでこの構成を実行するだけで、すべてが完璧に機能します。
2.次のようにフロントカメラに切り替えると:
let configuration = ARFaceTrackingConfiguration()
if #available(iOS 13.0, *) {
configuration.isWorldTrackingEnabled = true
}
configuration.isLightEstimationEnabled = true
if #available(iOS 13.0, *) {
configuration.frameSemantics = [.personSegmentation]
}
sceneView.session.run(configuration)
すべてがまだ完璧に機能しています。
3.しかし、カメラセッションに戻ると(ポイント1のように戻ります):
AR シーンに追加された 3D オブジェクトが静的ビューでフリーズし、ワールド トラックが機能しなくなります。また、元に戻す方法はありませんが、アプリを閉じて再度開く必要があります。
面白いこと:
- パーツを無効にすると
configuration.isWorldTrackingEnabled = true
。バグは表示されません。しかし、私はconfiguration.isWorldTrackingEnabled = true
設定が必要です。 - フロントカメラのセッションが中断されることはありません。バグが発生した後でも、フロントカメラに切り替えると、ワールドトラッキングがうまく機能します。
アプリのビデオ (バグは表示されません) は次のconfiguration.isWorldTrackingEnabled =
false
とおりです。
バグ動画なし- https://www.youtube.com/watch?v=JPAa6zJe_kQ
そして、これがアプリのビデオ(バグが表示されます)ですconfiguration.isWorldTrackingEnabled =
true
:
はいバグビデオ- https://www.youtube.com/watch?v=UF2Z8c4A42I
私はすでに何を試しましたか?
- 最初にフロントカメラでアプリを実行して、バックカメラに変更したときにも壊れるかどうかを確認しました。そして、はい、それも壊れます。
ARFaceTrackingConfiguration()
withを実行configuration.isWorldTrackingEnabled = true
してから、もう一度 withconfiguration.isWorldTrackingEnabled = false
を実行して、何かをオーバーライドして修正するかどうかを確認しました。しかし、ロックはなく、まだ壊れています。- また、セッションを一時停止してから、カメラの切り替え間で再度有効にしようとしましたが、まだバグがあります. 遅れても。
- また、次のような設定で構成を実行しようとしました
sceneView.session.run(configuration,options: [.resetTracking,.removeExistingAnchors,.stopTrackedRaycasts])
が、まだ運がありません。
誰でもそれを修正する方法について考えがありますか? 誰もがこの奇妙な行動に遭遇しましたか?