Log in or register to post comments

Keep child Target moving with Camera when Extended Tracking lost, avoiding flickering (Unity)

March 7, 2019 - 9:05am #1

Hi everyone,


*Unity 2017.4.19.f1

*Vuforia 7.0.57 (can't update for project reasons, and anyway it doesn't suggests me to update to version 8)

*HoloToolkit 2017.4.2.0 (can't update for project reasons)



I'm making an app for hololens where I need to put an ImageTarget on a real object, and I need to keep this object in my hands while I move. Of course I need to track the position of this object in every moment. (As child of the ImageTarget there is a simple arrow, a model, that indicates me when it is tracked).


Is there a way / workaround to allow ImageTarget (that in my case is CHILD OF CAMERA and has a simple model attached to it) follow the camera when Extended Tracking is ON and the target is no longer recognized? It's like the position is always overridden while moving myself when extended tracking is on and target tracking is lost.



I placed the ImageTarget (with an object on it) as child of the Camera Object (that integrates both Vuforia and Hololens camera). If I don't check "Extended tracking" all is fine because when I move myself in the room the arrow (therefore the Imagetarget) is moving with me and at the same time the rotation is being tracked (I will explain later why I put ImageTarget as a child of the camera). But this works only when the ImageTarget is recognized, of course. I preferably want that when the object is no longer recognized, the imageTarget(and the arrow) still move with the camera as expected.

If I check "ExtendedTracking" I know that the arrow (my model), when recognized, is passed to the SpatialMapping module. The problem with ExtendedTracking is that when the imagetarget is no longer tracked, the position of the imageTarget(and the arrow) remains fixed in space, even if I move. It remains fixed even if it is child of camera. And when I move I have of course a flickering effect because it's like the position is continuosly overridden. I know this could be ok in other situations, but if I put the ImageTarget not in the root but as child of something I want it to always move with its parent.


Motivation of putting the ImageTarget as child of Camera:

If I place the ImageTarget in the root hierarchy (in unity) and the camera+vuforia in the root hierarchy, the imagetarget(and the arrow of course) follow the camera when I move BUT there is lot of flickering, again, for this reason I needed to put as child of camera.




Thank you for the support

Keep child Target moving with Camera when Extended Tracking lost, avoiding flickering (Unity)

March 7, 2019 - 1:32pm #2


Vuforia's integration with HoloLens is not optimized for the "moving target" use case. In general, the integration works like this:

  1. Vuforia Engine SDK detects target via HoloLens' embedded RGB camera
  2. Vuforia Engine SDK calculates a pose of the target
  3. Vuforia Engine SDK hands this pose off to the HoloLens spacial tracker system
  4. HoloLens tracks the target
  5. Approx. every second, Vuforia will attempt to re-detect the target and update the pose for HoloLens

#5 is the reason why you are not observing a smooth tracking experience when the target is moved.

We are aware of the desire to support the moving target use case, and feedback has been provided to the product team for consideration.


Vuforia Engine Support

Log in or register to post comments