我目前正在制作AR卡游戏,您需要在游戏中拾取投影在游戏卡上的相同动画对。
有16种不同的游戏卡,其中每2种使用Vuforia投射有相同的动画。
可以同时跟踪2张游戏卡。如何比较被跟踪的两张卡上的动画是否相同?
我是编码的新手,但需要这样做。
public void OnTrackableStateChanged(TrackableBehaviour.Status previousStatus, TrackableBehaviour.Status newStatus)
{
if (newStatus == TrackableBehaviour.Status.DETECTED ||
newStatus == TrackableBehaviour.Status.TRACKED ||
newStatus == TrackableBehaviour.Status.EXTENDED_TRACKED)
{
activeTrackables = sm.GetActiveTrackableBehaviours ();
MatchCount.cardCount++;
if (MatchCount.cardCount == 2) { //if there are 2 tracked cards
//Compare them
if ( /* first projected animation */ == /* second projected animation */) {
MatchCount.matches--;
}
matchText.text = "number of matches: " + MatchCount.matches;
}
}
else
{
MatchCount.cardCount--;
if (MatchCount.cardCount < 0) {
MatchCount.cardCount = 0;
}
matchText.text = "number of matches: " + MatchCount.matches;
}
}
最佳答案
您可能需要将Gameobjects作为Gameobjects数组添加到代码中。然后尝试在丢失的跟踪器上使用vuforias,并在运行时将其设置为“活动”卡/图像目标。
一旦知道启用了哪些卡,就可以比较卡并找到所需的匹配项。
这是找到活动目标时指向vuforias董事会的链接。
https://developer.vuforia.com/forum/unity-extension-technical-discussion/active-script-when-image-target-detected
这是一个指南
https://developer.vuforia.com/forum/faq/unity-how-do-i-get-list-active-trackables