Unity AR多个图像目标但不同时

时间:2017-03-08 02:08:44

标签: android unity3d vuforia

我正在构建这个应用程序,它将识别绘画,并将在AR的帮助下显示有关它的信息。 我需要调用多个图像目标但不能同时调用,如果AR摄像机检测到它,它只会调用图像目标。

*我曾尝试使用Image目标创建许多场景,但我不能调用不同的imagetarget,它一直只恢复到1个imagetarget。

这是你可以在菜单中看到的wat,

主菜单

  • 启动AR相机(此部分应具有多个图像目标,但不能同时检测它)
  • 帮助(如何使用该应用程序)
  • 退出

*我正在使用vuforia创建AR

提前感谢那些帮助我的人。

这是imagetarget及其数据库

View post on imgur.com

1 个答案:

答案 0 :(得分:0)

运行多目标场景示例。有三个目标(石头,木头和道路)。

每个都包含TrackableBehaviour组件。

抓住它并在“开始”中禁用它。如果你在Awake中执行它,它将很可能在组件本身的Awake中或通过其他一些管理器重新激活。

public class TrackerController:MonoBehaviour
{
    private IDictionary<string,TrackableBehaviours> trackers = null;

    private void Start()
    {
         this.trackers = new Dictionary<string,TrackableBehaviour>();
         var trackers = FindObjectsOfType<TrackableBehaviour>();
         foreach(TrackingBehaviour tb in trackers)
         {
              this.trackers.Add(tb.TrackableName, tb);
              tb.enabled = false;
         }
    }
    public bool SetTracker(string name, bool value)
    {
         if(string.IsNullOrEmpty(name) == true){ return false; }
         if(this.trackers.ContainsKey(name) == false){ return false; }
         this.trackers[name].enabled = value;          
         return true;
    }
}

该方法找到所有TrackableBehaviour并将它们放在字典中以便于访问。设置方法返回布尔值,您可以将其更改为抛出异常或其他。