Image Target Recognizer
I want to make a quiz game which sounds like this : I need a button which will pick a random game object and than I need to check if the selected game object is same as the ImageTarget being shown to the camera, and if it is same it should respond "Correct", if not "Not Correct" ! . I already did the button which will pick the random game object but now I don't know how to check if that object is equal to the object being shown to the camera. I am sending you the button script which picks a random game object. I would be grateful if you help me do this :)
This is the Random.cs which generates a random game object:
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using Vuforia;
public class Quiz : MonoBehaviour
{
public GameObject[] models;
public GameObject currentPoint;
int index;
public AudioSource correctAudio;
public AudioSource notcorrectAudio;
void Start()
{
StateManager sm = TrackerManager.Instance.GetStateManager();
IEnumerable<TrackableBehaviour> activeTrackables = sm.GetActiveTrackableBehaviours();
models = GameObject.FindGameObjectsWithTag("numbers");
index = Random.Range (0, models.Length);
currentPoint = models[index];
print ("Trackable " +currentPoint.name);
//the attached AudioSource of the selected object is played here
currentPoint.GetComponent<AudioSource> ().Play ();
}
}
I don't remember how exactly it is done, but you are able to get for example the name of current active tracked target. So you can compare it with the name of picked object.
This is the code I am trying but its not working. This code is written in the DefaultTrackableEventHandler.cs , OnTrackingFound() function, but it doesn't give the required result. Do you have any suggestions ?
foreach (TrackableBehaviour tb in activeTrackables)
if(tb.TrackableName==quiz.currentPoint.GetComponent().TrackableName)
{
print ("Congratulations you have chosen the correct ImageTarget");
}
else
{
print ("Try another one !");
}
}