2017-12-06 10 views
1

私はiPhoneアプリ開発の新人ですが、他の言語の開発者も経験しています。イメージの位置を追跡し、この画像の周りに長方形を表示するARKitアプリケーションを作成しています。ARKitシーンからARFrameを取得する

私はOpenCVを使ってC++でそれを行い、このコードをswiftから呼び出せるように適切な "ブリッジ"クラスを作成することができました。今、私はARKitから画像を取得し、この関数に渡す必要があります。

ARKitシーンからARFrameを処理する関数をどのようにサスペンドできますか?私はARFramesceneView.session.currentFrameから得ることができましたが、各フレーム(または、私の関数が終了して次のフレームを受け取る準備ができているたびに)で呼び出される関数を作り出す方法を見つけられませんでした。

また、私はVision Frameworkを発見しましたが、ユーザーがタップした要素を追跡することしかできないようです。それが正しいのか、それともこの目的に使用できる事前定義された機能の組み合わせですか?

+0

それを追跡すると考えている(https://でのdeveloper.apple.com/documentation/arkit/arsessiondelegate/2865611-session)を 'ARSessionDelegate'プロトコルから削除します。 ARKitシーンからのARFrameを処理する関数_suscribeの要件を満たしていると私は信じています_ – leandrodemarco

+0

@leandrodemarcoそれはうまくいきました。今後のGoogle社員のための回答として投稿することができます。 –

答えて

2

ARSessionDelegateプロトコルのsession(:didUpdate:)メソッドを使用して、キャプチャした各フレームをカメラで取得できます。このメソッドは、提供されたARFrameを使用しない場合でも有効です。たとえば、現在表示されている仮想コンテンツがあれば、それを使って「ポーリング」します。

追跡画像の質問については、私は[セッション(:didUpdate:)]を見て持っているあなたは、画像の上にARAnchorまたはSCNNodeや位置、それを作成することができますし、ARKitが

関連する問題