Log in or register to post comments

multiple data set

April 18, 2018 - 7:43am #1

I used multiple dataset in my project and i use each data set in a  separate scene . When i run the app the vuforia camera is open only after loading all the dataset in my project . I want to load only the dataset which is related to the scene and unload the rest at runtime ?

can anyone help me to solve this problem.

thank you in advance.

multiple data set

April 19, 2018 - 10:06pm #5

Thank you dpizzle,

      dynamic image target loading is good choice ,in my case i can't use this method because I assigned some values in default event handler script manually so i can't use the dynamic target images for this project.

      I need know how to stop creating empty gameobject for my unassigned target images , i attach a image with this reply please take look and you will understand.

 

AttachmentSize
Image icon SCREENCAPTURE.png79.84 KB

multiple data set

April 19, 2018 - 8:52am #4

I think is what you want, shows you how to create image targets dynamically.  

https://developer.vuforia.com/forum/faq/unity-load-dataset-setup-trackables-runtime



 

multiple data set

April 18, 2018 - 10:39pm #3

thanks for your reply.

this functions is worked, it deactivate all the dataset and activate the dataset that I mention but it works after all the target loaded in scene but that was not my problem.

my exact problem is,

1.I used 400 targets as 4 datasets.

2.My project had 8 scene and I use 50 target images in each scene.

3.when I open any scene it will load all 50 target first that i assigned in the scene and then it create instance for remaining target images in the scene.

4.So, each scene takes 2 min to open.

so I have to stop creating the instance of unassigned target images. 

Can you please help me to find a solution 

thank you in advance

multiple data set

April 18, 2018 - 11:27am #2

Hello ardb,

This function will de-activate all datasets and then activate the designated dataset. You can run something similar when you load into a scene to ensure only the datasets you want are active for the scene.

    public void SwitchTargetByName(string activateThisDataset)
    {
        TrackerManager trackerManager = (TrackerManager)TrackerManager.Instance;
        ObjectTracker objectTracker = TrackerManager.Instance.GetTracker<ObjectTracker>();

        IEnumerable<DataSet> datasets = objectTracker.GetDataSets();
        IEnumerable<DataSet> activeDataSets = objectTracker.GetActiveDataSets();
        List<DataSet> activeDataSetsToBeRemoved = activeDataSets.ToList();

        //Loop through all the active datasets and deactivate them.
        foreach (DataSet ads in activeDataSetsToBeRemoved)
        {
            objectTracker.DeactivateDataSet(ads);
        }

        //Swapping of the datasets should not be done while the ObjectTracker is working at the same time.
        //So, Stop the tracker first.
        objectTracker.Stop();

        //Then, look up the new dataset and if one exists, activate it.
        foreach (DataSet ds in datasets)
        {
            if (ds.Path.Contains(activateThisDataset))
            {
                objectTracker.ActivateDataSet(ds);
            }
        }

        //Finally, start the object tracker.
        objectTracker.Start();
    }

Thanks,

Vuforia Support

Log in or register to post comments