public void SwapActiveDatasets(string datasetToActivate)
{
// 得到目标追踪器
ObjectTracker objectTracker = TrackerManager.Instance.GetTracker<ObjectTracker>();
//得到所有的DataSet
IEnumerable<DataSet> datasets = objectTracker.GetDataSets();
//得到所有已经激活的Dataset
IEnumerable<DataSet> activeDataSets = objectTracker.GetActiveDataSets();
//激活Dataset的List
List<DataSet> activeDataSetsToBeRemoved = activeDataSets.ToList();
//关闭追踪器
objectTracker.Stop();
// 循环遍历激活数据集并关闭
foreach (DataSet ads in activeDataSetsToBeRemoved)
{
objectTracker.DeactivateDataSet(ads);
}
//判断是否存在需要激活的数据集并激活
foreach (DataSet ds in datasets)
{
if (ds.Path.Contains(datasetToActivate))
{
objectTracker.ActivateDataSet(ds);
}
}
// 将GuideView设置为2D
IEnumerable<TrackableBehaviour> tbs = TrackerManager.Instance.GetStateManager().GetTrackableBehaviours();
foreach (TrackableBehaviour tb in tbs)
{
if (tb is ModelTargetBehaviour && tb.isActiveAndEnabled)
{
Debug.Log("TrackableName: " + tb.TrackableName);
(tb as ModelTargetBehaviour).GuideViewMode = ModelTargetBehaviour.GuideViewDisplayMode.GuideView2D;
}
}
// 5. 开启追踪
objectTracker.Start();
} public void SwapActiveDatasets(string d