2016-07-30 4 views
0

私は、写真(2Dスプライト)がマーカレストラッキングによって表示される九段のアプリケーションを作成しています。サンプルプロジェクトに基づいて、私は2D平面が常にカメラに対して垂直であり、私が望む位置にスクリーン上に配置されるように調整を行いました。本当に素晴らしい!Unityの九段術:マーカーレストラッキングを停止またはリセットする方法は?

しかし、スクリプトを使用してトラッキングを再起動/リセットする方法を理解できません。カメラをブロックしたり電話を振ったりすることでトラッキングを強制的に再開させることはできますが、ボタンを使用してやりたいのですが、これはAndroidとiOSの「ArbiTrack Basics」ガイドしかし、ユニティでそれを再現することはできません。トラッキングインスタンスを再開させるために、どのスクリプトにトラップを停止するかを指定する必要があります(サンプルUnityプロジェクトの1つをMarkerlessモードで実行している場合とまったく同じ効果があります)。

状況はコーディングAndroidのために、ここで説明されていますhttps://wiki.kudan.eu/ArbiTrack_Basics#Stopping_ArbiTrackそれはこれら三つ呼び出すこと言う

//ストップArbiTrack arbiTrack.stopを();

//ターゲットノードを表示 arbiTrack.getTargetNode()。setVisible(true);

// ArbiTrack状態を反映するように列挙型とラベルを変更してください。 arbitrack_state = ARBITRACK_STATE.ARBI_PLACEMENT;

答えて

0

これを行う方法はわかりましたが、理想的ではありません。

TrackingMethodMarkerless.csスクリプトを見ると、StopTracking()は機能しません。トラッキングの更新は無効になっていますが、実際には検出のインスタンスは無効になっていないようです。 (disableMarkerless == false)を

trackable.isDetected = _kudanTracker.ArbiTrackIsTracking()場合

//

;:if文しかし、それから、ノートを取って、私はProcessFrame()関数に追加しました他

trackable.isDetected =偽;今

//

、disableMarkerlessのブール演算子を変更すると、追跡を無効にします。

+0

はい、トラッキングが「失われている」場合のみオブジェクトが無効になりますが、手動で停止した場合は無効になります。これは将来のリリースで変更できるものです。 – DisturbedNeo

関連する問題