0

大学のプロジェクトの出発点として、Vuforia Video Playback サンプル アプリを使用しようとしています。私がやりたいことは、私が定義したターゲットを認識し、サンプル アプリに従ってターゲット上で選択したビデオを再生する小さな iOS ベースのアプリを開発することです。私は Vuforia を初めて使用するので、次の簡単な説明によるヘルプとガイダンスをいただければ幸いです。

  1. ターゲット マネージャーを使用して独自のターゲット データセットを作成し、.xml ファイルと .dat ファイルをダウンロードした後、Stones&Chips の例ではなくターゲットを使用するには、サンプル アプリ コードをどこで更新する必要がありますか?

  2. ターゲットを統合したら、ターゲットが検出されたときに自分のビデオ (Web からストリーミングされたもの、または iPhone にローカルに保存されたもの) を呼び出すには、どのサンプル アプリ コードを変更する必要がありますか? 私が言ったように、私はこの環境に非常に慣れておらず、例から学ぶのが一番だと思うので、どんな助けや指導も大歓迎です...</p>

4

1 に答える 1

1

まず、データセット (.dat および .xml) ファイルとビデオを Resources/assets グループに追加します。

次に、VideoPlayback-2-0-7 の時点で、VideoPlaybackAppDelegate.mm の次の行を編集する必要があります。

データ セットのファイル名 (.dat および .xml) と一致するようにデータ セットを更新します。92 行目:

[qUtils addTargetName:@"Stones & Chips" atPath:@"StonesAndChips.xml"];

追加したビデオと一致するようにビデオを更新します。148 行目から:

switch (i) {
    case 0:
        filename = @"VuforiaSizzleReel_1.m4v";
        break;
    default:
        filename = @"VuforiaSizzleReel_2.m4v";
        break;
}

EAGLView.h 内のビデオ ターゲットの数を更新します。25 行目:

#define NUM_VIDEO_TARGETS 2

EAGLView.mm のビデオ テクスチャを更新します。各トラッカブルに対して 1 つのテクスチャが必要になることに注意してください。そうしないと、アプリがクラッシュします。テクスチャをロードするコードのエラー チェックはありません。39 行目から:

    // Texture filenames (an Object3D object is created for each texture)
    const char* textureFilenames[] = {
        "icon_play.png",
        "icon_loading.png",
        "icon_error.png",
        "VuforiaSizzleReel_1.png",
        "VuforiaSizzleReel_2.png"
    };

EAGLView.mm 内のコードに一致するターゲット名を更新します。357 行目から:

// VideoPlayerHelper to use for current target
int playerIndex = 0;    // stones

if (strcmp(imageTarget.getName(), "chips") == 0)
{
    playerIndex = 1;
}
于 2013-03-25T20:03:42.673 に答える