2

合理的に単純な AR 機能を備えた小さな Android アプリを作成しようとしています。いくつかの既知のマーカーを読み込み、それらが検出されたときにビデオ ストリームの上に既知の 2D/3D オブジェクトをレンダリングします。これを行うためのライブラリへのポインタ、または少なくともそれを正しく行うための適切な例をいただければ幸いです。

ここに私が調べたいくつかのリードがあります:

AndAR - https://code.google.com/p/andar/ - これは最初はうまく機能し、AndAR アプリはリアルタイム ビデオ ストリームの 1 つのパターンで 1 つの立方体をレンダリングするのに十分に機能しますが、プロジェクトは事実上放棄されており、それを拡張するには、OpenGL の世界に深く踏み込む必要があります - 不可能ではありませんが、非常に望ましくありません。カスタム .obj ファイルをロードできると思われるフォローアップの AndAR Model Viewer プロジェクトは、マーカーをまったく認識していないようです。繰り返しになりますが、これは放棄されたソフトウェアのように見えます。

処理 - 前述の NyARToolkitは、PC からの処理に最適です -使用例。これは、「ここにパターンがあり、ここにオブジェクトがあり、そこにレンダリングするだけ」機能に対して完全に機能しますが、Android ではすべてが機能しません - Android 用の GStreamer は非常に初期のハッキング段階であり、一般的にビデオ機能は Android Processing プロジェクトの優先度がかなり低いようです - 今import processing.video.*;のところ失敗しています。

layar、wikitude など、それらはすべて対話性、場所などに重点を置いているように見えますが、これは絶対に必要ではなく、この基本的な使用法がどういうわけか欠けています。

どこが間違っていますか?ビデオのキャプチャ/検出/レンダリングの一部をコード化できれば幸いです。ドラッグ アンド ドロップ ライブラリは必要ありませんが、AndAR のサンプル コードは、私を恐怖で満たしてくれます。

4

1 に答える 1

3

Qualcomm によるVuforia SDK (以前の QCAR)と 3D エンジンとしての jPCT-AEを検討することをお勧めします。どちらも非常にうまく連携し、純粋な OpenGL は必要ありません。ただし、Vuforia はある程度 NDK に依存しているため、C/C++ の知識が必要です。

基本的には、単純な JNI 関数 (SDK には完全に機能する豊富なサンプル コードが含まれています) を介して Vuforia からマーカー ポーズを取得し、それを使用して jPCT で 3D オブジェクトを配置します (最も簡単な方法は、ポーズをオブジェクトの回転行列です。これは少しハックですが、すぐに結果が得られます)。

jPCT-AE は、いくつかの一般的な形式の 3D モデルの読み込みをサポートしています。API ドキュメントは優れていますが、サンプル コードについてはフォーラムを参照する必要がある場合があります。

于 2012-02-05T15:57:39.730 に答える