Android 一个或多个图像目标,但不同时

Android 一个或多个图像目标,但不同时,android,unity3d,vuforia,Android,Unity3d,Vuforia,我正在构建这个应用程序,它将识别绘画,并在AR的帮助下显示有关绘画的信息。 我需要调用多个图像目标,但不是同时调用,它只会调用图像目标,如果它被AR摄像机检测到 *我试着创建了很多带有图像目标的场景,但我不能调用不同的图像目标,因为它一直只恢复到一个图像目标 这是你们可以在菜单上看到的水 主菜单 启动AR摄像机(该部分应具有多个图像目标,但不能同时检测) 帮助(如何使用应用程序) 出口 *我正在使用vuforia创建AR 提前感谢那些帮助我的人 这是imagetarget及其数据库 运行多目

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

*我试着创建了很多带有图像目标的场景,但我不能调用不同的图像目标,因为它一直只恢复到一个图像目标

这是你们可以在菜单上看到的水

主菜单

  • 启动AR摄像机(该部分应具有多个图像目标,但不能同时检测)
  • 帮助(如何使用应用程序)
  • 出口
*我正在使用vuforia创建AR

提前感谢那些帮助我的人

这是imagetarget及其数据库


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

每个组件都包含TracableBehavior组件

抓住它并在开始时禁用它。如果在唤醒中执行此操作,则很可能在组件本身唤醒时或通过其他管理器将其设置回活动状态

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;
    }
}
公共类TrackerController:MonoBehavior
{
私有IDictionary trackers=null;
私有void Start()
{
this.trackers=新字典();
var trackers=FindObjectsOfType();
foreach(跟踪器中的跟踪行为tb)
{
this.trackers.Add(tb.TrackableName,tb);
tb.enabled=false;
}
}
公共bool SetTracker(字符串名称、bool值)
{
if(string.IsNullOrEmpty(name)==true){return false;}
if(this.trackers.ContainsKey(name)==false){return false;}
this.trackers[name].enabled=value;
返回true;
}
}

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

为什么你们否决了它?请在此处编写代码。甚至可能是上传项目到一些地方,然后ppl可以看看它,并帮助你们。