I asked this question on the Project Tango Google+ page and it was suggested that I post it here.
Something that I'm very confused on is area learning. Apparently, how it works is that you scan a room, save the ADF file, then later you can visit the same room and load the ADF file and it will know your position in the room, correct?
Does anyone have any experience doing this in Unity? There's a "Save ADF" button in the example, but no way to load it afterward? How do you use ADFs you've previously saved? It's all very confusing to me right now. Can anyone help explain things a bit better?
DEPRECATED
Your understanding and explanation about the working of Area Learning and Area Description Files is right.
There is an example called "AreaLearningUnity" in Project Tango Unity Examples repo showing the usage of this functionality.
In this example you can save the ADF by clicking the SaveADF button, and when you restart the app again, it automatically loads the last saved adf.This functionality is executed by the following code in the example.
if(m_useADF)
{
// Query the full adf list.
PoseProvider.RefreshADFList();
// loading last recorded ADF
string uuid=PoseProvider.GetLatestADFUUID().GetStringDataUUID();
m_tangoApplication.InitProviders(uuid);
}
To choose a specific UUID instead of the latest one, you can use GetCachedADFList()
call which returns a list of ADFs saved on your device, which can be used to choose the ADF you want to load.
I encourage you to take a look at PoseProvider Class in Project Tango Unity SDK.
EDIT: The SDK has changed so much, so this can be marked as deprecated.