0

最初: ここには 2 つのトピックがありますが、これらは非常に似ていますが、1 つはデバイスの故障で終わり、他は C API に関するものです... そのため、新しい質問を開きます。

科学的な拡張現実アプリケーションのために、jMonkeyEngine で Google Tango SDK を使用しています。これまでのところ、すべてがうまくいきました。しかし今、私は、リスナー (クラス: OnTangoUpdateListener )に与えられた Tango の Point Cloud Data を使用したいと考えています。( Tango Depth Perception ) 4 つの方法があります。

  • onPoseAvailable(TangoPoseData ポーズ)
  • onXyzIjAvailable(TangoXyzIjData xyzIj)
  • onTangoEvent(タンゴイベント arg0)
  • onFrameAvailable(int arg0)

そのうちの 3 つは定期的に呼び出されます。問題は、 onXyzIjAvailableが呼び出されないため、点群データにアクセスできないことです。これが私のコードスニペットです。私が間違っていること、または何を試すことができるか知っていますか?

public class TangoUpdateListener implements OnTangoUpdateListener {
@Override
            public void onXyzIjAvailable(TangoXyzIjData xyzIj)
            {

                System.out.println("POINT CLOUD AVAILABLE");
                Log.e("CLOUD", "CLOUD AVAILABLE");
        }
}

ファイル全体は次の場所にあります: Pastebin

ご協力ありがとうございました!

PS: デバイスはサンプル プロジェクトで問題なく動作します。これはハードウェアの問題ではありません。

4

1 に答える 1

1

コールバックを阻害するものを見つけました。実際には、一度に 1 つのアクティビティのみがカメラを使用できます。拡張現実アプリを開発するとき、2 つのアクティビティがあります。1 つは背景用 (カメラのビデオを表示) で、もう 1 つは仮想オブジェクトのレンダリング用 (奥行き情報にカメラを使用) です。RGB カメラと深度カメラは同じデバイスではありませんが、Android は同じデバイスであると認識し、一度に 1 つのデバイスへのアクセスのみを許可します。したがって、バックグラウンド ビデオを無効にすると、深度データ コールバックが有効になり、その逆も同様です。

両方を同時に使用する方法を誰かが知っていれば、それは素晴らしいことです。

乾杯、ジェム

于 2016-05-12T08:55:44.833 に答える