在我的Vuforia Unity项目中,当我瞄准图像目标时会播放声音。如果检测到2个目标,我想现在播放特定的其他声音,如果检测到3个目标,我想要播放另一个声音。
我设法在ARCamera中列出目标图像:
mysqli::multi_query
你知道如何实现我想做的事吗?
答案 0 :(得分:0)
如果检测到2个目标,我现在想播放特定的其他声音 如果检测到3则另一个。
我无法确定你在这方面究竟在苦苦挣扎,但你用activeTrackables.Count()
检测了多少目标然后用AudioSource.Play();
播放声音。请在顶部使用System.Linq;
来使用IEnumerable.Count()
。
private AudioSource otherAudio;
private AudioSource anotherAudio;
void Start()
{
otherAudio = GameObject.Find("OtherAudio").GetComponent<AudioSource>();
anotherAudio = GameObject.Find("OtherAudio").GetComponent<AudioSource>();
}
void Update()
{
// Get the Vuforia StateManager
StateManager sm = TrackerManager.Instance.GetStateManager();
// Query the StateManager to retrieve the list of
// currently 'active' trackables
//(i.e. the ones currently being tracked by Vuforia)
IEnumerable<TrackableBehaviour> activeTrackables = sm.GetActiveTrackableBehaviours();
if (activeTrackables.Count() == 2)
{
if (!otherAudio.isPlaying)
{
otherAudio.Play();
}
}
else if (activeTrackables.Count() == 3)
{
if (!anotherAudio.isPlaying)
{
anotherAudio.Play();
}
}
// Iterate through the list of active trackables
Debug.Log("List of trackables currently active (tracked): ");
foreach (TrackableBehaviour tb in activeTrackables)
{
Debug.Log("Trackable: " + tb.TrackableName);
}
}
您还可以使用一个AudioSource
,只需更改其AudioClip
,具体取决于检测到的目标数量。