Would like to confirm that, the ImageResource, will be downloading the image once created?
If I have more than 500 ImageResource, will downloading all 500 images?
Before finish the downloading, the image will not displayed even the target image is recongized?
If all yes, then is there any way to solve this? Download the image once the target image is recongized, not pre-downloading when the object is created.
W
Wolfgang Damm
said
over 9 years ago
1. yes, it will start immediately downloading the image 2. yes it will download all the created images. 500 will result in an issue with memory therefore you should avoid loading all at once 3. yes as it has to be downloaded first nothing will be visibile on the target before it is completely downloaded.
4. yes there is a way to solve this. Use the onEnterFieldOfVision trigger of the Trackable2dObject to create the necessary overlays for the recognized image. If you expect the user to view many targets in one run you will need to call .destroy() for imageresources once they are not needed anymore. This frees up memory.
e.g.
var obj = new AR.Trackable2DObject(tracker, "targetName", {drawables: {cam: }, onEnterFieldOfVision: function() { var img = new AR.ImageResource("url to image"); obj.drawables.cam = new AR.ImageDrawable(img, 0.5); } });
If the images are loaded from a remote location and will therefore take a while to load, I suggest using a placeholder images (as loading indicator) in the meantime. This way the user gets a visual feedback that the target is recognized, but there is additional content loaded.
F
Frederick Chung
said
over 9 years ago
How about video? Will VideoDrawable download the video first before playing it? or it is streaming as HTML5 video?
Frederick Chung