FLARManager v1.0 – Augmented Reality with Flash

Hello folks. I’m happy to announce that FLARManager is finally all growed-up!

FLARManager v1.0 has been quite a while in the making, especially the movement from v0.7. This is due to a number of factors; one of these has been working out the final details, between ARToolworks and Imagination, of flare*tracker and flare*NFT integration, which i first previewed in this blog post. But the major factor is the amount of restructuring that has gone into FLARManager.

Why restructure? FLARManager is now able to work with any tracking library, just as it’s able to work with any 3D framework. And switching between tracking libraries is as simple as this:

 
FLARToolkit:
new FLARManager("flarConfig.xml", new FlarToolkitManager(), this.stage);
flare*tracker:
new FLARManager("flarConfig.xml", new FlareManager(), this.stage);
flare*NFT:
new FLARManager("flarConfig.xml", new FlareNFTManager(), this.stage);

 
Obviously, the freedom given to application developers, creatives, and agencies by natural feature-tracking is the biggest element of this release to be excited about. But the restructuring goes deeper — FLARManager can now function as a link between *any* tracking library and *any* 3D framework. Developers are no longer bound to decisions based on limited availability or documentation; they are free to choose the tools that work best for them. (Some Californian CEOs would do well to pursue similar goals.)

You can get FLARManager version 1.0 here.

So what else is new about v1.0? A quick rundown beyond the jump…

 

what’s new

[support for multiple tracking libraries]
As mentioned above, FLARManager has a new structure that grants it compatibility with any number of tracking libraries. Currently, support exists for flare*tracker, flare*NFT, and FLARToolkit (v2.5.4). The classes used to make the connection between FLARManager and these tracking libraries live in the flar.tracker package, and FLARManager should now be instantiated with one of these tracker managers as a parameter.

Note: if you’re using flare*tracker or flare*NFT, you must have the .lic license files in the same folder as your swfs. These files are included in the FLARManager distro, in the /bin-debug/ folder. These are evaluation versions of the flare* licenses, and tracking stops functioning after one minute. Also, you must include the flare* .swc files in the /libs/ folder in order to compile. If you see any errors referring to CLibInit, the flare* .swc files are not on your build path and are not getting compiled.

Stay tuned for support for more tracking libraries in the future…

[native flash 3D]
Thanks to nutsu of libspark, FLARManager finally supports output to native Flash 3D. This is particularly useful for applications that just want to display a plane over the detected target — no more need to map a texture to a plane in a 3D engine. Think images, video, swfs. In the palm of your users’ hands.

[full documentation]
All of the changes did not go undocumented. Full html documentation of FLARManager’s source is available in ASDoc format (thanks to Grant Skinner’s handy ASDocr tool).

Additionally, all examples and tutorials are updated, both in the code and online. Online walkthroughs are available via the FLARMANAGER link in the nav bar above.

[alternative interface examples]
For my talk at FITC this spring, I put together a series of examples that show how markers can be used to craft alternative interfaces for games, digital tools, and artistic experiences. These can be found in the /apps package, and launched via the application class FLARManagerAppLauncher.as, both included in the FLARManager distro.

[support for FLARToolkit 2.5.4]
FLARManager v1.0 offers compatibility with the latest release of FLARToolkit, v2.5.4, and most of the goodies it provides. Support for ID-markers will follow in a later release.

[full-resolution video]
The default video resolution is now 640×480 in flarConfig.xml. This takes advantage of flare*tracker and flare*NFT’s superior framerate, and also works quite well with the recent improvements in FLARToolkit.

[flar.camera package]
Camera setup for various 3D frameworks is now abstracted into classes within the flar.camera package, which simplifies scene setup in application code. Each class within the flar.camera package sets up the projection matrix for a given 3D framework, regardless of the selected tracking library.

 

what’s missing

Unfortunately, there are still a few things that are not complete. The major items yet to complete include:

  • FLARManager does not yet provide compatibility between flare* and Away3D/Lite, Sandy3D, or Alternativa3D.
  • FLARToolkit 2.5.4 introduced support for ID-markers, but this feature is not yet available via FLARManager.

13 Tweets 3 Other Comments

33 Comments

  1. [...] Eric ha publicado la información correspondiente en su blog. [...]

  2. Andy says:

    Dear ericsoco,

    I found a error when I use XML instance way to init FLARManger.
    var fm:FLARManager=new FLARManger(XMLInstance, new FLARToolkitManger(), stage);

    It pop a error window up.

    “TypeError: Error #1009:
    at com.transmote.flar::FLARManager/set thresholdAdapter()[D:\Actionscript Engines\FLARManager\deploy\FLARManager_v1_0\src\com\transmote\flar\FLARManager.as:228]”

    How to fix it?

  3. Awesome! I can’t wait to start playing with it.

  4. ericsoco says:

    @andy — i see the bug. won’t have time to fix it until later today, will post here when it’s fixed.

  5. ericsoco says:

    @andy — okay, this is fixed. updated both SVN and the downloadable .zip file. basically, i just moved the config loading/parsing code to the end of FLARManager’s constructor.

  6. Cameron says:

    Hi, I’m using flash CS4 professional and am trying to get the examples given in v 1.0 working. I am setting FLARManagerExampleLauncher as the document class but am getting the following error

    1172: Definition cmodule.libFlareTracker:CLibInit could not be found.

    in at.imagination.flare.FlareTracker

    Where can i find this class.

    Thanks

  7. Cam says:

    Hi, I’m using flash CS4 professional and am trying to get the examples given in v 1.0 working. I am setting FLARManagerExampleLauncher as the document class but am getting the following error

    1172: Definition cmodule.libFlareTracker:CLibInit could not be found.

    in at.imagination.flare.FlareTracker

    Where can i find this class.

  8. ericsoco says:

    @cam — that class is within libFlareTracker.swc. you need to ensure the /libs folder is in the build path. i’m not sure how to do this in CS4 — when you figure it out, can you please reply here?

  9. Thangaraj says:

    For Flash CS4

    Publish Settings-> Actionscript 3.0 Settings:

    Libray Path tab

    Click on the Browse for SWC then select the path where “libFlareTracker.swc” is located.

    Hi, I’m using flash CS4 professional and am trying to get the examples given in v 1.0 working. I am setting FLARManagerExampleLauncher as the document class but am getting the following error

    1172: Definition cmodule.libFlareTracker:CLibInit could not be found.

    in at.imagination.flare.FlareTracker

    Where can i find this class.

  10. Thangaraj says:

    Hi Cameron,

    For Flash CS4

    Publish Settings-> Actionscript 3.0 Settings:

    Libray Path tab

    Click on the Browse for SWC then select the path where “libFlareTracker.swc” is located.

    Hi, I’m using flash CS4 professional and am trying to get the examples given in v 1.0 working. I am setting FLARManagerExampleLauncher as the document class but am getting the following error

    1172: Definition cmodule.libFlareTracker:CLibInit could not be found.

    in at.imagination.flare.FlareTracker

    Where can i find this class.

  11. Nien says:

    Hi Eric,

    v07 works but v1.0 is not working for me.
    I setup both exactly the same in Flex Builder.

    I’m using the tutorial you outlined in your Getting Started section.

    Also in your getting started section, you state that the markers to use are in
    /resources/markers/ARToolKitPlus_AllMarkers
    Though in the code you use for v1.0 you are using the patterns in
    flarToolkit/Patterns/pat8/ according to the flarConfig.xml.

    Also the 512 markers in the /resources/markers/ARToolKitPlus_AllMarkers folder are rendered too small.

    Let me know if I missed something or if I can help in any way.

    Thanks
    Nien

  12. ericsoco says:

    @nien — what is not working for you? just the markers?

    regarding the config file: flarConfig.xml, as it exists in the downloadable/SVN, has settings for both FLARToolkit and flare*tracker/NFT. these settings can coexist without problem; the IFLARTrackerManager that you choose when instantiating FLARManager (e.g. FLARToolkitManager, FlareManager, FlareNFTManager) determines which element in the xml will actually be parsed.

    regarding marker size, what do you mean they’re ‘rendered too small’? all of the information required for tracking is within each gif. if you want it to print larger, tell your printer to increase the size, or increase the size in a photo editing tool.

  13. tof says:

    I have some question about configuration file (flarConfig.xml).

    1. How to define the patterns for tracking in flare*tracker ?
    like in FLARToolkit is pattern path=”../resources/flarToolkit/patterns/pat8/patt001.pat”
    and flare*NFT is featureSetFile=”featureSet.ini”

    2. Does sampleBlurring support FLARToolkit ? or support only flare*tracker/NFT.

  14. ericsoco says:

    @tof — you don’t have to define patterns for ID-markers. all of the patterns within /resources/markers/ARToolKitPlus_AllMarkers.zip work, and without any performance hit (unlike with FLARToolkit markers). you cannot, however, define custom markers with flare*tracker.

    re: sampleBlurring, no FlareManager does not apply sampleBlurring to the source. flare* performs some source adjustments on its own, so FlareManager.performSourceAdjustments() is left empty.

  15. ericsoco says:

    @tof — whoops, sorry, i didn’t actually answer your question. and, in fact, my last answer was totally wrong!
    sampleBlurring is applied to the source inside of FLARManager.performSourceAdjustments, and is applied regardless of tracking engine.

  16. [...] update to FLARManager v1.0. Imagination has requested that I not distribute their libraries, so I’ve removed them from [...]

  17. JC says:

    Hi Eric! I´ve been checking the flare*nft test sdk, but seems kinda complicated, so I of course decided to check FLARManager… I just saw that you answered “you cannot, however, define custom markers with flare*tracker” … I was really interested in purchasing a nft license for a project, but its kind of useless if theres no way to define custom markers. Thanks in advance! great work!

  18. ericsoco says:

    @jc — to clarify, you can’t define custom markers for flare*NFT on your own. you have to send Imagination an image, and they will generate tracking information for you to include with your project. they change a fee for this, last i checked i think it was 200€.

  19. ABC-Man says:

    Hi eric… exists the thresholdSourceDisplay or similar in the current version (1.0.1) of flarmanager with flartoolkit ???

  20. ericsoco says:

    @ABC-Man – look in FLARToolkitManager.

  21. juan_carlos says:

    Hi eric,

    i´ve been working for a while with flarmanager, and just found this post http://groups.google.com/group/flartoolkit-userz/browse_thread/thread/5426b404dd43ba11 about angle smoothing… sounds really interesting, and I noticed the date of your reply is prior to V 1.0 , did you ever get a chance to implement the concept into flarmanager? if so, how can i use it?

    Thanks a lot, great work btw

  22. juan_carlos says:

    Thanks Eric!

  23. Sureshkumar says:

    Hai,

    Iam new to this augmented reality, and i tested single detector, its work fine. Now i move to multiple detector, but i was sturggled in lot of area. Please anybody give correct document link, or any other suggestion.

    thanks
    Sureshkumar G

Leave a Reply

Additional comments powered by BackType