Object Tracker
The Object Tracker loads the map file and renders 3D object on it.
Starting / Stopping the Tracker
Using the Tracking Information
Setting a Map
Adding / Replacing a Map
Starting / Stopping the Tracker
To start / stop Tracker after loading the map, refer to the following code.
>ObjectTrackerActivity.java
@Override
protected void onResume() {
...
TrackerManager.getInstance().startTracker(TrackerManager.TRACKER_TYPE_OBJECT);
...
}
@Override
protected void onPause() {
...
TrackerManager.getInstance().stopTracker();
...
}
Using the Tracking Information
To use the Tracking information, refer to the following code.
>ObjectTrackerRenderer.java
@Override
public void onDrawFrame(GL10 gl) {
...
TrackingState state = TrackerManager.GetInstance().UpdateTrackingState();
TrackingResult trackingResult = state.GetTrackingResult();
if (trackingResult.getCount() > 0) {
Trackable trackable = trackingResult.getTrackable(0);
texturedCube.setTransform(trackable.getPoseMatrix());
texturedCube.setTranslate(0, 0, -0.1f);
texturedCube.setScale(0.4f, 0.4f, 0.2f);
texturedCube.setProjectionMatrix(projectionMatrix);
texturedCube.draw();
}
}
Setting a Map
By calling addTrackerData () to register the map file and calling loadTrackerData (), the space can be tracked. To set a map, refer to the following code.
>ObjectTrackerActivity.java
@Override
protected void onCreate(Bundle savedInstanceState) {
...
TrackerManager.getInstance().addTrackerData(mapFileName, false);
TrackerManager.getInstance().loadTrackerData();
}
Adding / Replacing a Map
Create a map file refer to Documentation > Map Manager.
Copy the received map file to the desired path. The way to load map file in the assets folder and the external storage, is different.
- When copying to the assets folder, set the second parameter to true to indicate that it is a relative path and a file in the assets folder.
TrackerManager.getInstance().addTrackerData("MaxstAR/ImageTarget/Bricks.2dmap", true);
- If copying to external storage, enter the full path and set the second parameter to false.
TrackerManager.getInstance().addTrackerData(mapFile.getAbsolutePath(), false);
You must call loadTrackerData () after calling addTrackerData ().
If you have an existing map file, call addTrackerData () and loadTrackerData () after calling TrackerManager.getInstance (). RemoveTrackerData ("").
