我正在尝试将Vuforia用户映像目标存储在本地,这样用户每次离开场景时都不必创建目标。
我试图在静态类中存储变量以创建新的图像目标,以便当我回到现场时可以检索它们。并创建图像目标,然后将它们添加到数据集中。
//****************************************************************************************************
//Trying to load image target between scenes
//****************************************************************************************************
//Deactivate the dataset in order to add the image target
m_ObjectTracker.DeactivateDataSet(m_UDT_DataSet);
var LastImageTrackable = ImageTargetStorage.newTrackable;
if(LastImageTrackable != null)
{
//Find UDT behavior and Gameobject
ImageTargetBehaviour imageTargetCopy = Instantiate(ImageTargetTemplate);
System.Random rnd = new System.Random();
int RandomNum = rnd.Next(1, 1000);
imageTargetCopy.gameObject.name = "UserDefinedTarget-" + RandomNum;
// Add the target to the dataset
try{
m_UDT_DataSet.CreateTrackable(LastImageTrackable, imageTargetCopy.gameObject);
}
catch(Exception ex)
{
Debug.Log("An Error has occured while trying to create image target from different scene.");
}
// Activate the dataset again
m_ObjectTracker.ActivateDataSet(m_UDT_DataSet);
}
//****************************************************************************************************
Unity崩溃,并且从不提供有关此问题的任何有用数据。 导致崩溃的步骤是
m_UDT_DataSet.CreateTrackable(LastImageTrackable, imageTargetCopy.gameObject);
将从先前的创建中获取LastImageTrackable。 请为我提供有关此错误的建议,如果Vuforia不适合此简单任务,请提出其他框架。