UnityとVuforia SDKを使用してアプリケーションを開発しています。Vuforia:OnTrackableStateChangedイベントが発生しない場合があります
アプリケーションには、複数のマーカーが関係します。 マーカーを順番にスキャンする必要があります。 マーカーが1つ検出されると、追跡が失われたときにOnTrackingFoundイベントハンドラが呼び出され、OnTrackingLostイベントが発生します。
問題は、あるマーカーを別のマーカーで置き換えると、OnTrackerLostイベントが発生しないという問題です。
OnTrackLostを解雇することはできますか?
このシナリオを分析したところ、TrackTableが失われたときにOnTrackLostイベントが発生しなかったため、「OnTrackableStateChanged」イベントが発生しないことがありました。
OnTrackableStateChangedを毎回起動できるようにするソリューションはありますか?
注:私はUnityとVuforiaバージョンを使用します。以下の5.3.2
は、私が使用したコードです:
using UnityEngine;
using System.Collections;
public class ImageTargetLoading : MonoBehaviour,ITrackableEventHandler
{
private TrackableBehaviour mTrackableBehaviour;
void Start()
{
mTrackableBehaviour = GetComponent<TrackableBehaviour>();
if (mTrackableBehaviour)
{
mTrackableBehaviour.RegisterTrackableEventHandler(this);
}
}
public void OnTrackableStateChanged(TrackableBehaviour.Status previousStatus, TrackableBehaviour.Status newStatus)
{
if (newStatus == TrackableBehaviour.Status.TRACKED || newStatus == TrackableBehaviour.Status.DETECTED || newStatus == TrackableBehaviour.Status.EXTENDED_TRACKED)
{
OnTrackingFound();
}
else
{
OnTrackingLost();
}
}
}
"OnTrackableStateChanged" イベントが時々発生しません。
私はコードで質問を編集しました。ご意見をお寄せください。 –
OnTrackableStateChangeは、暗黙のうちに状態が変更されたときに呼び出される名前と似ています。マーカーを切り替えるときに状態を変更していない可能性があります。あなたはTRACKED状態にあり、TRACKEDに移動しています。これは、追跡中のデータセットまたは現在アクティブなゲームオブジェクトを比較する必要があります。あなたの編集は私のソリューションを変更しません。 – Everts
あなたはunityとvuforiaで初心者を使用する方法を知りませんので、いくつかのサンプルコードを用意してください。 –