我目前正在制作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

09-10 06:55
查看更多