Hi Holly,
Thanks for sharing the video - that makes things much clearer.
We use two different algorithms for tracking target imagtes:
- Zapcode tracking. This is specific to Zapcodes, but works when the zapcode is small in the image. It won’t track if the view of the code is occluded at all. The fact it works well with the small target made it a good choice for the extended tracking demo.
- Image tracking. This is the “usual” way to track any image with sufficient texture and detail. It can continue tracking from more extreme viewing angles than the zapcode one, and can cope if there is some occlusion of the image, or it goes partially out of view. The downside is it requires the target to be bigger in the image than the zapcode one.
So having seen your video, the key problem is the target is too small in the camera view to track well. As others have said, QR codes by themselves do not make for brilliant “image tracking” targets, but it’s really the target size in the image that is the key problem here.
It usually works best to have the QR as a part of a larger image target, and then to scale the content down to a more reasonable size relative to the target so the user stays in closer (and hence the target is bigger in the camera view and tracks better). Here’s an example of a WebAR alpha-channel image tracked experience we put together from a menu for an event - the whole menu was the tracking target here.
Making your content smaller relative to the tracking target will definitely be needed if you want to improve the results with image tracking - you should also keep a bit more of a border between the edge of the target and the QR code - the corners of the QR code have lots of useful tracking points but they’re too close to the edge of the image to allow them to be used at the moment. Re-designing the image to be bigger overall with the QR code as one part of it is the best bet in general.
Other topics:
We have two ways of tracking without a target. “World Tracking” only runs in the apps as it uses ARKit and ARCore available only through native apps. “Instant Tracking” is available in WebAR but also has some caveats and might not work well enough for your use case.
You can try out the instant tracking version in https://wtbeta.arweb.app - if you have enough detail in the camera view (and notably a bit of detail near the anchor point itself) then it may work well enough for you. It’s something we’re still working hard to improve.