Vuforia(7.5.26)でDatabaseをScriptからマニュアルでロードする
古いバージョンのVuforiaはVuforia ConfigurationからDatabaseのActiveとLoadをトグルで指定できたが、最新版(7.5.26)ではDatabasesの部分のトグルがなくなってしまった。
起動時にDatasaseを指定したImageTargetがあればそのDatabaseに含まれる他のImageTargetを自動生成してくれるが、予めImageTargetを用意するのも手間なのでマニュアルでDatabaseをロードする方法を調査した。
Vuforia Developer Portalから関連する投稿を見つけたので重要そうな部分だけ抜粋してメモしておく。
//ObjectTrackerを取得
ObjectTracker objectTracker
= TrackerManager.Instance.GetTracker<ObjectTracker>();
//データセットを生成
DataSet dataSet = objectTracker.CreateDataSet();
//Databaseをロード
dataSet.Load("databaseの名前");
//DatabaseをActive化
objectTracker.Stop(); //Active化の前にobjectTrackerを止める
objectTracker.ActivateDataSet(dataSet);//Active化
objectTracker.Start();//Active化にobjectTrackerを動かす
//Databaseを非Active化
objectTracker.DeactivateDataSet(dataSet);
その他、関連するコード
//データセットの一覧を取得
IEnumerable<DataSet> datasets = objectTracker.GetDataSets();
//データセットを全部Active化
objectTracker.Stop(); //Active化の前にobjectTrackerを止める
foreach (DataSet ds in datasets)
{
objectTracker.ActivateDataSet(ds);
}
objectTracker.Start();//Active化にobjectTrackerを動かす
//現在アクティブなデータセットを取得
IEnumerable<DataSet> activeDataSets = objectTracker.GetActiveDataSets();
//アクティブなデータセットを全部止める
foreach (DataSet ads in activeDataSets)
{
objectTracker.DeactivateDataSet(ads);
}