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

  1. Create a map file refer to Documentation > Map Manager.

  2. 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);
  1. You must call loadTrackerData () after calling addTrackerData ().

  2. If you have an existing map file, call addTrackerData () and loadTrackerData () after calling TrackerManager.getInstance (). RemoveTrackerData ("").