<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Sunil&#039;s Blog &#187; FlarToolkit</title>
	<atom:link href="http://www.suniljohn.com/blog/category/flartoolkit/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.suniljohn.com/blog</link>
	<description></description>
	<lastBuildDate>Sat, 30 Jan 2010 09:02:07 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Oh My Bosh! Design Your Very Own Chris Bosh Paper-Robo in Augmented Reality &#8211; Adding Interactivity to Your AR Apps</title>
		<link>http://www.suniljohn.com/blog/oh-my-bosh-design-your-very-own-chris-bosh-paper-robo-in-augmented-reality-adding-interactivity-to-your-ar-apps/</link>
		<comments>http://www.suniljohn.com/blog/oh-my-bosh-design-your-very-own-chris-bosh-paper-robo-in-augmented-reality-adding-interactivity-to-your-ar-apps/#comments</comments>
		<pubDate>Fri, 31 Jul 2009 14:28:25 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[AS3]]></category>
		<category><![CDATA[FlarToolkit]]></category>
		<category><![CDATA[Papervision3D]]></category>
		<category><![CDATA[Pioneering]]></category>
		<category><![CDATA[Augmented Reality]]></category>
		<category><![CDATA[Spark Project]]></category>

		<guid isPermaLink="false">http://www.suniljohn.com/blog/?p=208</guid>
		<description><![CDATA[With Chris Bosh&#8217;s  contract with the Raptors expiring soon, there&#8217;s been a lot of talk of him being shopped around next season. Sources say that the Cleveland Cavaliers have targeted Bosh to play along side King James. While I don&#8217;t want to see Chris leave Toronto, it wouldn&#8217;t surprise me to see him follow the [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://www.suniljohn.com/blog/wp-content/uploads/2009/07/bosh_lbj.jpg" rel="shadowbox[post-208];player=img;"><img class="size-full wp-image-258 aligncenter" title="bosh_lbj" src="http://www.suniljohn.com/blog/wp-content/uploads/2009/07/bosh_lbj.jpg" alt="bosh_lbj" width="627" height="418" /></a></p>
<p>With Chris Bosh&#8217;s  contract with the Raptors expiring soon, there&#8217;s been a lot of talk of him being shopped around next season. Sources say that the Cleveland Cavaliers have targeted Bosh to play along side King James.</p>
<p>While I don&#8217;t want to see Chris leave Toronto, it wouldn&#8217;t surprise me to see him follow the path of other marquee players before him : Stoudemire (he was big back in the day), Carter, McGrady and Camby.</p>
<p><strong>Where do you think Chris will go? </strong></p>
<p>With this latest flar demo you can make your predictions by redesigning his jersey in AR, download the parts to your desktop, and print/assemble your own <a title="Paper-Robo" href="http://www.paper-robo.com" target="_blank">Paper-Robo</a>! You can also upload your own custom skin to preview what the robo will look like in AR.</p>
<p>For anyone who designs a killer Bosh skin through this app or even better photoshop, please send them my way and I&#8217;ll post them here! I bet some of CB4&#8242;s twitter army could make some sick custom bots.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="688" height="518" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=5797126&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="688" height="518" src="http://vimeo.com/moogaloop.swf?clip_id=5797126&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Here&#8217;s a link to the live demo to try yourself:</p>
<p><a rel="shadowbox;height=560;width=640" href="http://www.suniljohn.com/labs/bosh/assets/swf/main.swf">Bosh Demo</a></p>
<p>Direct your iphone here (don&#8217;t waste paper, if you can help it!!):</p>
<p><a href="http://www.suniljohn.com/labs/bosh/assets/resources/flar/patterns/patt002.png" rel="shadowbox[post-208];player=img;" target="_blank">Download Bosh Marker</a></p>
<p><a href="http://www.suniljohn.com/labs/bosh/assets/resources/flar/patterns/bosh_arcode.jpg" rel="shadowbox[post-208];player=img;" target="_blank">Download Bosh Paper-Robo Parts</a></p>
<p><strong>CODE SNIPPETS:</strong></p>
<p><strong>Adding mouse events to collada models and manipulating materials<br />
</strong></p>
<p>This functionality is simply an extension of the helloMouse3D example that ships with the Papervision3D libraries. The only difference here is that instead of manipulating the material of a Papervision3D primitive, you are manipulating the material of a 3D collada model.</p>
<p>One thing I discovered is that material lists for colladas are wonky, and in order to add interactivity to 3D models  you have to add listeners directly to the to the mesh associated with that material and only when the model has completely loaded. As you can see be the live demo, the focus of the mouse on the model sometimes gets lost. I suspect that this is due to the collada model I&#8217;m using which has been to hell and back to get it rendering properly in Papervision3D. I built the model 2 years ago in Sketchup when either Papervision 1.0 or 1.5 around! From Sketchup I exported it as a collada, and brought it into 3DS max to make a uv map. I exported from 3Ds max as a collada, only to import the result into Blender, to obtain a collada with settings the Papervision3d can render.</p>
<p>When I have time I will try the demo with a simpler collada to see if this loss of focus is still a problem. If you have any ideas why I&#8217;m losing focus on my model please let me know!</p>
<div class="geshi no actionscript">
<div class="head">public function addMarker(marker : FLARMarker) : void</div>
<ol>
<li class="li1">
<div class="de1">&nbsp; <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="co1">// store marker</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="kw2">var</span> markerList : Vector. = <span class="kw3">this</span>.<span class="me1">markersByPatternId</span><span class="br0">&#91;</span>marker.<span class="me1">patternId</span><span class="br0">&#93;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;markerList.<span class="kw3">push</span><span class="br0">&#40;</span> marker <span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="kw2">var</span> container : DisplayObject3D = <span class="kw2">new</span> DisplayObject3D<span class="br0">&#40;</span> <span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;robo = <span class="kw2">new</span> Collada<span class="br0">&#40;</span> FLARManager._GATEWAY + <span class="st0">&quot;/resources/models/myrobo4flippedblender.xml&quot;</span> <span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;robo.<span class="me1">scale</span> = .<span class="nu0">07</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;robo.<span class="me1">rotationX</span> = <span class="nu0">90</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;robo.<span class="me1">rotationZ</span> = <span class="nu0">90</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;robo.<span class="me1">z</span> = robo.<span class="me1">z</span> &#8211; <span class="nu0">100</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;robo.<span class="me1">addEventListener</span><span class="br0">&#40;</span> FileLoadEvent.<span class="me1">LOAD_COMPLETE</span>, daeCompleteHandler <span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;container.<span class="me1">addChild</span><span class="br0">&#40;</span> robo <span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="kw3">this</span>.<span class="me1">scene3D</span>.<span class="me1">addChild</span><span class="br0">&#40;</span> container <span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="co1">// associate container with corresponding marker</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="kw3">this</span>.<span class="me1">containersByMarker</span><span class="br0">&#91;</span>marker<span class="br0">&#93;</span> = container;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw3">public</span> <span class="kw2">function</span> daeCompleteHandler<span class="br0">&#40;</span>event : Event<span class="br0">&#41;</span> : <span class="kw3">void</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;robo.<span class="me1">getChildByName</span><span class="br0">&#40;</span> <span class="st0">&quot;Model&quot;</span> <span class="br0">&#41;</span>.<span class="me1">addEventListener</span><span class="br0">&#40;</span> InteractiveScene3DEvent.<span class="me1">OBJECT_MOVE</span>, handleMouseMove <span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;robo.<span class="me1">getChildByName</span><span class="br0">&#40;</span> <span class="st0">&quot;Model&quot;</span> <span class="br0">&#41;</span>.<span class="me1">addEventListener</span><span class="br0">&#40;</span> InteractiveScene3DEvent.<span class="me1">OBJECT_PRESS</span>, handleMouseDown <span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;surface = <span class="kw2">new</span> Sprite<span class="br0">&#40;</span> <span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;textureContainer = <span class="kw2">new</span> Sprite<span class="br0">&#40;</span> <span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;__boshSkin = <span class="kw2">new</span> boshSkin_mc<span class="br0">&#40;</span> <span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;__boshSkin.<span class="me1">addChild</span><span class="br0">&#40;</span> textureContainer <span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;__boshSkin.<span class="me1">addChild</span><span class="br0">&#40;</span> surface <span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="kw2">var</span> mat : MovieMaterial = <span class="kw2">new</span> MovieMaterial<span class="br0">&#40;</span> __boshSkin <span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;mat.<span class="me1">interactive</span> = <span class="kw2">true</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;mat.<span class="me1">animated</span> = <span class="kw2">true</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;mat.<span class="me1">allowAutoResize</span> = <span class="kw2">false</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;mat.<span class="me1">updateBitmap</span><span class="br0">&#40;</span> <span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;robo.<span class="me1">getChildByName</span><span class="br0">&#40;</span> <span class="st0">&quot;Model&quot;</span> <span class="br0">&#41;</span>.<span class="me1">material</span> = mat;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">public</span> <span class="kw2">function</span> handleMouseDown<span class="br0">&#40;</span><span class="kw3">e</span> : InteractiveScene3DEvent<span class="br0">&#41;</span> : <span class="kw3">void</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="co1">//Start Drawing</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="kw1">if</span><span class="br0">&#40;</span>surface <span class="sy0">!</span>= <span class="kw2">null</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; surface.<span class="me1">graphics</span>.<span class="kw3">beginFill</span><span class="br0">&#40;</span> __activeColour, <span class="nu0">1</span> <span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; surface.<span class="me1">graphics</span>.<span class="me1">drawCircle</span><span class="br0">&#40;</span> vMouse.<span class="me1">x</span>, vMouse.<span class="me1">y</span>, <span class="nu0">3</span> <span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; surface.<span class="me1">graphics</span>.<span class="kw3">endFill</span><span class="br0">&#40;</span> <span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">public</span> <span class="kw2">function</span> handleMouseMove<span class="br0">&#40;</span><span class="kw3">e</span> : InteractiveScene3DEvent<span class="br0">&#41;</span> : <span class="kw3">void</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="kw1">if</span><span class="br0">&#40;</span>InteractiveSceneManager.<span class="me1">MOUSE_IS_DOWN</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="co1">//Continue drawing when the mouse is down</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span>surface <span class="sy0">!</span>= <span class="kw2">null</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;surface.<span class="me1">graphics</span>.<span class="kw3">beginFill</span><span class="br0">&#40;</span> __activeColour, <span class="nu0">1</span> <span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;surface.<span class="me1">graphics</span>.<span class="me1">drawCircle</span><span class="br0">&#40;</span> vMouse.<span class="me1">x</span>, vMouse.<span class="me1">y</span>, <span class="nu0">3</span> <span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;surface.<span class="me1">graphics</span>.<span class="kw3">endFill</span><span class="br0">&#40;</span> <span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp;<span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="br0">&#125;</span></div>
</li>
</ol>
</div>
<p><strong>Flash Player 10 JPEG encoding<br />
</strong></p>
<p>A colleague at work pointed me towards a <a href="http://blog.inspirit.ru/?p=201" target="_blank">JPEG Async Encoder</a> class that allows you to to merge large BitmapData objects to form a large JPEG, getting around Flash player 10 BitmapData size restrictions. I didn&#8217;t need to encode something beyond 4,095 x 4,095 for this particular demo, but it&#8217;s useful to know that there is a work around.</p>
<p><strong>Flash Player 10 reading and writing files locally<br />
</strong></p>
<p>This demo uses a some new features of Flash 10, reading and writing files locally between the browser and OS without the need to write any server side code.</p>
<p>Using the <a href="http://livedocs.adobe.com/flex/3/langref/flash/net/FileReference.html">FileReference.load()</a> method you can allow a user to select a file locally and load it directly into the Flash plugin without having to upload it to a server.</p>
<p><strong><a href="http://words.transmote.com/wp/flarmanager/" target="_blank">FLARManager v0.5</a> (for FLARToolkit)</strong></p>
<p>This is my first demo to include the newest FLARManager update. Eric Socolofsky has updated his framework to include some new optimizations, one of which is <a href="http://homepages.inf.ed.ac.uk/rbf/HIPR2/adpthrsh.htm" target="_blank">adaptive thresholding</a>, which allows markers to be detectable in low light conditions.</p>
<p><strong>AR Musings&#8230;<br />
</strong></p>
<p>Is the wow factor is still there AR apps? Most offerings simply involve displaying a model on a glyph, which captures the user&#8217;s attention for about 2 minutes. There are a few hoops to jump through, in order to get a user to interact with an AR app: you have to print out a marker, need a webcam or have to download a specific plugin to view AR content (not as big a deal these days with broadband connections). Also imagine all the sheets of paper used around the world for a website that promotes renewable energy resources! I&#8217;m not sure what the solution is for saving our trees, other than offering digital versions of as AR marker that could displayed on a mobile device&#8230;Alternately, AR websites could offer a keyboard shortcut that mimics a marker without having to print it out.</p>
<p>Here are some interesting examples of interactive AR apps that have popped up recently that have started to push AR beyond displaying simple models in 3d space:</p>
<p>Eminem&#8217;s <a href="http://www.therelapse.co.uk/3dartcomp/" target="_blank">3d Graffiti Art App</a>:</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="643" height="376" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=4666030&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="643" height="376" src="http://vimeo.com/moogaloop.swf?clip_id=4666030&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p><a href=" http://www.unic8.com/labs/flarmagnet-full-interactive-experience" target="_blank"><br />
</a>Unic8&#8242;s use of  <a href="http://www.everydayflash.com/blog/" target="_blank">Bartek Drozdz</a>&#8216;s <a href="http://code.google.com/p/as3dmod/" target="_blank">AS3Dmod</a> library to bend primitives based on marker proximity and angle:</p>
<p><a href=" http://www.unic8.com/labs/flarmagnet-full-interactive-experience" target="_blank">http://www.unic8.com/labs/flarmagnet-full-interactive-experience</a></p>
<p><object id="viddler" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="645" height="549" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowScriptAccess" value="always" /><param name="allowFullScreen" value="true" /><param name="src" value="http://www.viddler.com/player/879ca46/" /><param name="name" value="viddler" /><param name="allowfullscreen" value="true" /><embed id="viddler" type="application/x-shockwave-flash" width="645" height="549" src="http://www.viddler.com/player/879ca46/" name="viddler" allowfullscreen="true" allowscriptaccess="always"></embed></object></p>
<p>The dev(s) at unic8 Studios have also done some interesting interactive AR demos with <a href="http://www.unic8.com/labs/flarsound-interactive-ar-experience" target="_blank">sound</a> and <a href="http://www.unic8.com/labs/flarplanets-interactive-lightning" target="_blank">light</a>.</p>
<p><a href="http://www.bmw.co.uk/z43d" target="_blank"><span>BMW Z4 3D paintbrush</span></a><br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="646" height="399" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/cTUJKvXIkSU&amp;hl=en&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="646" height="399" src="http://www.youtube.com/v/cTUJKvXIkSU&amp;hl=en&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.suniljohn.com/blog/oh-my-bosh-design-your-very-own-chris-bosh-paper-robo-in-augmented-reality-adding-interactivity-to-your-ar-apps/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Starscream, Boba Fett and Jabba the Hut&#8230;er&#8230;Jasmine the Cat&#8230;FlarToolkit AND 3D Animated Models with Keyboard Control</title>
		<link>http://www.suniljohn.com/blog/starscream-boba-fett-and-jabba-the-huterjasmine-the-catflartoolkit-and-md2-keyboard-control/</link>
		<comments>http://www.suniljohn.com/blog/starscream-boba-fett-and-jabba-the-huterjasmine-the-catflartoolkit-and-md2-keyboard-control/#comments</comments>
		<pubDate>Wed, 06 May 2009 02:03:16 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[AS3]]></category>
		<category><![CDATA[FlarToolkit]]></category>
		<category><![CDATA[Papervision3D]]></category>
		<category><![CDATA[Add new tag]]></category>
		<category><![CDATA[Animated Collada]]></category>
		<category><![CDATA[Animated Models]]></category>
		<category><![CDATA[Augmented Reality]]></category>
		<category><![CDATA[FLARManager]]></category>
		<category><![CDATA[FLARMultiMarkerDetector]]></category>
		<category><![CDATA[MD2]]></category>

		<guid isPermaLink="false">http://www.suniljohn.com/blog/?p=156</guid>
		<description><![CDATA[Here&#8217;s a link to the live demo to try yourself: Boba Demo Direct your iphone here (don&#8217;t waste paper, if you can help it!!): Boba &#8211; http://www.suniljohn.com/labs/boba/markers/boba.jpg Starscream &#8211; http://www.suniljohn.com/labs/boba/markers/starscream.jpg Print the markers here: Boba &#8211; http://www.suniljohn.com/labs/boba/markers/boba.pdf Starscream &#8211; http://www.suniljohn.com/labs/boba/markers/starscream.pdf There are keyboard controls for both models. ASDW to move Starscream and directional arrows to [...]]]></description>
			<content:encoded><![CDATA[<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="675" height="509" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=4503519&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="675" height="509" src="http://vimeo.com/moogaloop.swf?clip_id=4503519&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Here&#8217;s a link to the live demo to try yourself:</p>
<p><a rel="shadowbox;height=698;width=640" href="http://www.suniljohn.com/labs/boba/boba.swf">Boba Demo</a></p>
<p>Direct your iphone here (don&#8217;t waste paper, if you can help it!!):</p>
<p>Boba &#8211; <a href="http://www.suniljohn.com/labs/boba/markers/boba.jpg" rel="shadowbox[post-156];player=img;" target="_blank">http://www.suniljohn.com/labs/boba/markers/boba.jpg</a></p>
<p>Starscream &#8211; <a href="http://www.suniljohn.com/labs/boba/markers/starscream.jpg" rel="shadowbox[post-156];player=img;" target="_blank">http://www.suniljohn.com/labs/boba/markers/starscream.jpg</a></p>
<p>Print the markers here:</p>
<p>Boba &#8211; <a href="http://www.suniljohn.com/labs/boba/markers/boba.pdf" target="_blank">http://www.suniljohn.com/labs/boba/markers/boba.pdf</a></p>
<p>Starscream &#8211; <a href="http://www.suniljohn.com/labs/boba/markers/starscream.pdf" target="_blank">http://www.suniljohn.com/labs/boba/markers/starscream.pdf</a></p>
<p>There are keyboard controls for both models. ASDW to move Starscream and directional arrows to move Boba Fett. Each character also has jump, taunt and attack controls. There are about 14 other animations I haven&#8217;t had time to program.</p>
<p>I re-factored the earlier multimarker flar prototype to use the <a href="http://words.transmote.com/wp/flarmanager/" target="_blank">FLARManager 0.3</a> from Eric Socolofsky at <a href="http://www.transmote.com" target="_blank">transmote.com</a>. I was able to trace out the string names of the individual 3D channels of the MD2 models I&#8217;ve been using. I can now play the individual animations I want to play instead of looping through them all.</p>
<p>This snippet might help those that are trying to figure out the string names of the 3d channels of their MD2 Quake 2 models:</p>
<div class="geshi no actionscript">
<div class="head">//_channels = new Array();</div>
<ol>
<li class="li1">
<div class="de1"><span class="co1">// &nbsp; _channels = animatedBoba.getAnimationChannels();</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co1">//</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co1">// &nbsp; trace(&quot;channel count&quot;, _channels.length);</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co1">//</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co1">// &nbsp; for each(var channel:AbstractChannel3D in _channels) {</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co1">// &nbsp; &nbsp;_numFrames = Math.max(_numFrames, channel.keyFrames.length);</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co1">// &nbsp; &nbsp;channel.updateToFrame(_currentFrame);</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co1">// &nbsp; &nbsp;trace(&quot;channel.name&quot;, channel.name);</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co1">// &nbsp; }</span></div>
</li>
</ol>
</div>
<p>I also implemented <a href="http://saqoosha.net/en/2009/01/08/1676/" target="_blank">Saqoosha&#8217;s hole effect</a> using Papervision3d, in the form of trap doors, with some slight modification to what cube faces are visible. I think this has to do flipped coordinate space, when comparing a standard PV3d scene and to the flarnode. Here&#8217;s the mod:</p>
<p>Instead of :</p>
<div class="geshi no actionscript">
<div class="head">var hole:Cube = this.scene.addChild(new Cube(new MaterialsList({all: cmats, bottom: cmatb}), 300, 300, 300, 1, 1, 1, Cube.ALL, Cube.TOP)) as Cube;</div>
<ol>
<li class="li1">
<div class="de1"><span class="kw3">this</span>._green = <span class="kw3">this</span>.<span class="me1">scene</span>.<span class="me1">addChild</span><span class="br0">&#40;</span><span class="kw2">new</span> Cube<span class="br0">&#40;</span><span class="kw2">new</span> MaterialsList<span class="br0">&#40;</span><span class="br0">&#123;</span>all: <span class="kw2">new</span> ColorMaterial<span class="br0">&#40;</span>0x00ff00<span class="br0">&#41;</span><span class="br0">&#125;</span><span class="br0">&#41;</span>, <span class="nu0">300</span>, <span class="nu0">300</span>, <span class="nu0">300</span>, <span class="nu0">1</span>, <span class="nu0">1</span>, <span class="nu0">1</span>, <span class="nu0">0</span>, Cube.<span class="me1">TOP</span><span class="br0">&#41;</span><span class="br0">&#41;</span> as Cube;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">Changed to:</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">var</span> __hole : Cube = <span class="kw2">new</span> Cube<span class="br0">&#40;</span><span class="kw2">new</span> MaterialsList<span class="br0">&#40;</span><span class="br0">&#123;</span>all: __cubeSideTexture, bottom: __cubeBottomTexture<span class="br0">&#125;</span><span class="br0">&#41;</span>, <span class="nu0">80</span>, <span class="nu0">80</span>, <span class="nu0">80</span>, <span class="nu0">1</span>, <span class="nu0">1</span>, <span class="nu0">1</span>, Cube.<span class="me1">ALL</span>, Cube.<span class="me1">FRONT</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">var</span> __green : Cube = <span class="kw2">new</span> Cube<span class="br0">&#40;</span><span class="kw2">new</span> MaterialsList<span class="br0">&#40;</span><span class="br0">&#123;</span>all: <span class="kw2">new</span> ColorMaterial<span class="br0">&#40;</span>0x00ff00<span class="br0">&#41;</span><span class="br0">&#125;</span><span class="br0">&#41;</span>, <span class="nu0">80</span>, <span class="nu0">80</span>, <span class="nu0">80</span>, <span class="nu0">1</span>, <span class="nu0">1</span>, <span class="nu0">1</span>, <span class="nu0">0</span>, Cube.<span class="me1">FRONT</span><span class="br0">&#41;</span>;</div>
</li>
</ol>
</div>
<p>I went through at least 10 different asymmetrical patterns for the Starscream flar marker. Most of the time the camera would keep losing the pattern or confusing it with the Boba Fett pattern. Bad lighting and problematic marker patterns were the biggest issues.</p>
<p>I don&#8217;t have to use keycodes very often, but when I do it&#8217;s always a pain trying to remember what uint corresponds with what key. Here&#8217;s a snippet I picked up for using as3 to generate keycodes:</p>
<p><a href="http://evolve.reintroducing.com/2008/11/21/tips-n-tricks/flash-key-codes/" target="_blank">http://evolve.reintroducing.com/2008/11/21/tips-n-tricks/flash-key-codes/</a></p>
<p>The end result isn&#8217;t quite this:</p>
<p><a href="http://www.suniljohn.com/blog/wp-content/uploads/2009/05/starwarschess.jpg" rel="shadowbox[post-156];player=img;"><img class="aligncenter size-medium wp-image-169" title="starwarschess" src="http://www.suniljohn.com/blog/wp-content/uploads/2009/05/starwarschess-300x226.jpg" alt="starwarschess" width="648" height="486" /></a></p>
<p>&#8230;.but each time I revisit this prototype it&#8217;s seems to be getting closer&#8230;.</p>
<p>In the future I want to implement <a href="http://makc3d.wordpress.com/2009/05/05/flartoolkit-adaptive-filter-experiment-sources/" target="_blank">mac3d&#8217;s  adaptive filter</a>, to help eliminate problems with marker detection caused by poor lighting conditions.</p>
<p>Also what fun would spawning 3d characters  in AR be without laser canons and collision detection!?!</p>
<p><a href="http://www.suniljohn.com/blog/wp-content/uploads/2009/05/jasmine_jabba.jpg" rel="shadowbox[post-156];player=img;"><img class="aligncenter size-medium wp-image-173" title="jasmine_jabba" src="http://www.suniljohn.com/blog/wp-content/uploads/2009/05/jasmine_jabba-300x136.jpg" alt="jasmine_jabba" width="712" height="320" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.suniljohn.com/blog/starscream-boba-fett-and-jabba-the-huterjasmine-the-catflartoolkit-and-md2-keyboard-control/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>FITC Toronto 2009 Top Ten Round Up</title>
		<link>http://www.suniljohn.com/blog/sunils-fitc-toronto-2009-top-ten-round-up/</link>
		<comments>http://www.suniljohn.com/blog/sunils-fitc-toronto-2009-top-ten-round-up/#comments</comments>
		<pubDate>Sat, 02 May 2009 18:18:46 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[AS3]]></category>
		<category><![CDATA[FITC]]></category>
		<category><![CDATA[FlarToolkit]]></category>
		<category><![CDATA[New Media]]></category>
		<category><![CDATA[Papervision3D]]></category>
		<category><![CDATA[Pioneering]]></category>
		<category><![CDATA[Augmented Reality]]></category>
		<category><![CDATA[Colin Mook]]></category>
		<category><![CDATA[Gary Stasiuk]]></category>
		<category><![CDATA[Golan Levin]]></category>
		<category><![CDATA[Jered Ficklin]]></category>
		<category><![CDATA[Mario Klingemann]]></category>
		<category><![CDATA[Megaphone]]></category>
		<category><![CDATA[Papervision X]]></category>
		<category><![CDATA[Ralph Hauwert]]></category>
		<category><![CDATA[Source Binder]]></category>
		<category><![CDATA[Spark Project]]></category>
		<category><![CDATA[Toronto]]></category>
		<category><![CDATA[Union Platform]]></category>
		<category><![CDATA[Vector Vision]]></category>
		<category><![CDATA[Visual PV3D]]></category>
		<category><![CDATA[Zach Lieberman]]></category>

		<guid isPermaLink="false">http://www.suniljohn.com/blog/?p=135</guid>
		<description><![CDATA[I just got back from volunteering at FITC Toronto 2009. I HIGHLY recommend volunteering. It&#8217;s a great way to attend the sessions for free and meet amazing new/old talent in the interactive field. I&#8217;ve come away from the conference with a lot of new ideas that I can&#8217;t wait to try. Here&#8217;s my list of [...]]]></description>
			<content:encoded><![CDATA[<p>I just got back from volunteering at FITC Toronto 2009. I HIGHLY recommend volunteering. It&#8217;s a great way to attend the sessions for free and meet amazing new/old talent in the interactive field. I&#8217;ve come away from the conference with a lot of new ideas that I can&#8217;t wait to try.</p>
<p>Here&#8217;s my list of things that were cool to me in no particular order:</p>
<p><strong>1) Papervision X &#8211; Ralph Hauwert</strong><br />
- 3d renderer optimized for Flash Player 10<br />
- Ralph used Alchemy and Pixel bender to run Quake in Flash at 60 FPS!!<br />
<strong><br />
2) Colin Mook &#8211; Your Phone is Your Controller</strong><br />
- <a href="http://www.playmegaphone.com/" target="_blank">http://www.playmegaphone.com/</a><br />
- <a href="http://unionplatform.com/intro.html" target="_blank">http://unionplatform.com/intro.html</a><br />
<object width="408" height="291" data="http://blip.tv/play/AdvqLofjRA" type="application/x-shockwave-flash"><param name="src" value="http://blip.tv/play/AdvqLofjRA" /><param name="allowfullscreen" value="true" /></object></p>
<p><strong>3) Sourcebinder</strong><br />
- <a href="http://sourcebinder.org/" target="_blank">http://sourcebinder.org/</a><br />
- drag and drop node based programming<br />
- break out game built on the fly with audience interaction using a webcam<br />
<object width="400" height="300" data="http://vimeo.com/moogaloop.swf?clip_id=4107701&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=4107701&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /></object></p>
<p><a href="http://vimeo.com/4107701">SourBinder Tutorial: The basics</a> from <a href="http://vimeo.com/user482816">Balazs Serenyi</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p><strong>4) Gary Stasiuk &#8211; Visual PV3d<br />
</strong>- Flash Visualization Application that provides a GUI interface to create and manipulate objects in 3D scenes using Papervision3D<br />
<object width="400" height="225" data="http://vimeo.com/moogaloop.swf?clip_id=4284870&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=4284870&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /></object></p>
<p><a href="http://vimeo.com/4284870">Vizual PV3D</a> from <a href="http://vimeo.com/user1322789">Juxt Interactive</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p>- <a href="http://www.juxtinteractive.com/_download/vizualpv3d.zip" target="_blank">http://www.juxtinteractive.com/_download/vizualpv3d.zip</a></p>
<p><strong>5) Vector Vision</strong><br />
- allows you to use vectors in Papervision<br />
- <a href="http://blog.barcinski-jeanjean.com/2008/05/16/vectorsvision-vectors-in-papervision3d/" target="_blank">http://blog.barcinski-jeanjean.com/2008/05/16/vectorsvision-vectors-in-papervision3d/</a><br />
- <a href="http://www.barcinski-jeanjean.com/entries/vectorvision/SvgExample.html" target="_blank">http://www.barcinski-jeanjean.com/entries/vectorvision/SvgExample.html</a></p>
<p><strong>6) Golan Levin and Zach Lieberman</strong><br />
- Augmented Reality Magic 1.0<br />
<object width="425" height="344" data="http://www.youtube.com/v/Mk1xjbA-ISE&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/Mk1xjbA-ISE&amp;hl=en&amp;fs=1" /><param name="allowfullscreen" value="true" /></object></p>
<p><strong>7) Jared Ficklin</strong><br />
- music visualization through physical objects<br />
- nirvana songs visualized on paper show similarities between songs; verse &#8211; chorus &#8211; verse<br />
- showed 4 patterns and asked which one was likely a nirvana song, the one most similar was actually a foo fighters song!<br />
<object width="425" height="344" data="http://www.youtube.com/v/UR8rZMKlIq4&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/UR8rZMKlIq4&amp;hl=en&amp;fs=1" /><param name="allowfullscreen" value="true" /></object></p>
<p><strong> <img src='http://www.suniljohn.com/blog/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' /> Mario Klingemann</strong><br />
- bitmap manipulation turning ordinary bitmaps into Van Gogh like paintings.<br />
- <a href="http://www.aviary.com" target="_blank">http://www.aviary.com</a><br />
- using Keith Peters minimal components</p>
<p><strong>9) Pixel Bender Game</strong><br />
- <a href="http://www.kongregate.com/games/GlaielGamer/closure" target="_blank">http://www.kongregate.com/games/GlaielGamer/closure</a></p>
<p><strong>10) The Spark Project &#8211; Japanese Flash Community</strong><br />
- <a href="http://www.libspark.org/wiki/WikiStart/en" target="_blank">http://www.libspark.org/wiki/WikiStart/en</a><br />
Photorealistic AR<br />
<object width="400" height="300" data="http://vimeo.com/moogaloop.swf?clip_id=4330719&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=4330719&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /></object></p>
<p><a href="http://vimeo.com/4330719">Me too (doing some AR stuff)!</a> from <a href="http://vimeo.com/anatolyzenkov">Anatoly Zenkov</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p>Frocessing<br />
- Processing like AS3 drawing library<br />
- <a href="http://www.libspark.org/wiki/nutsu/Frocessing/en" target="_blank">http://www.libspark.org/wiki/nutsu/Frocessing/en</a></p>
<p>BetweenAS3<br />
- new tween engine that performs better than the major players tweener, tween max&#8230;<br />
- <a href="http://www.libspark.org/svn/as3/BetweenAS3/trunk" target="_blank">http://www.libspark.org/svn/as3/BetweenAS3/trunk</a></p>
<p>SWFWheel<br />
- support for mac scroll wheel no javascript required<br />
- <a href="http://www.libspark.org/wiki/SWFWheel/en" target="_blank">http://www.libspark.org/wiki/SWFWheel/en</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.suniljohn.com/blog/sunils-fitc-toronto-2009-top-ten-round-up/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Revisiting Multiple Pattern Recognition Using the FLARMultiMarkerDetector and an iPhone</title>
		<link>http://www.suniljohn.com/blog/multiple-pattern-recognition-redux-using-flarmultimarkerdetector-and-iphone-flartoolkitflash-augmented-reality/</link>
		<comments>http://www.suniljohn.com/blog/multiple-pattern-recognition-redux-using-flarmultimarkerdetector-and-iphone-flartoolkitflash-augmented-reality/#comments</comments>
		<pubDate>Sun, 08 Mar 2009 02:19:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[AS3]]></category>
		<category><![CDATA[FlarToolkit]]></category>
		<category><![CDATA[Papervision3D]]></category>
		<category><![CDATA[FLARMultiMarkerDetector]]></category>

		<guid isPermaLink="false">http://www.suniljohn.com/blog/?p=118</guid>
		<description><![CDATA[I was able to revisit the spaghetti code on my FLARMultiMarkerDetector prototype and improve performance 100 fold. Thanks to the guys at Squidder.com for sharing their source for the virtual drum kit. Here&#8217;s a post explaining their demo. Here&#8217;s a link to their source. The MD2 models I&#8217;ve been using should be familiar by now [...]]]></description>
			<content:encoded><![CDATA[<p>I was able to revisit the spaghetti code on my FLARMultiMarkerDetector prototype and improve performance 100 fold. Thanks to the guys at <a href="http://www.squidder.com/">Squidder.com</a> for sharing their source for the virtual drum kit.</p>
<p>Here&#8217;s a <a href="http://www.squidder.com/2009/03/06/flar-how-to-multiple-instances-of-multiple-markers/" target="_blank">post</a> explaining their demo.</p>
<p>Here&#8217;s a <a href="http://www.squidder.com/wp-content/uploads/2009/03/flarsquidderkit.zip" target="_blank">link</a> to their source.</p>
<p>The MD2 models I&#8217;ve been using should be familiar by now and are from <a href="http://polycount.com/" target="_blank">Polycount</a>.</p>
<p>I was writing this app on the train and didn&#8217;t have a printer to print the patterns. Now I have them on my iPhone, so I can test my Flar apps where ever I happen to be.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="696" height="522" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="data" value="http://vimeo.com/moogaloop.swf?clip_id=3520172&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=3520172&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="696" height="522" src="http://vimeo.com/moogaloop.swf?clip_id=3520172&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true" data="http://vimeo.com/moogaloop.swf?clip_id=3520172&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1"></embed></object><br />
<a href="http://vimeo.com/3520172"><br />
</a></p>
<p>One thing I&#8217;ve noticed, is that if you cutting the patterns out or are displaying them on an iPhone it seems you have to leave a white margin in addition to the black border for the pattern to be recognized.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.suniljohn.com/blog/multiple-pattern-recognition-redux-using-flarmultimarkerdetector-and-iphone-flartoolkitflash-augmented-reality/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>My Cat and Multiple Pattern Recognition Using FLARMultiMarkerDetector &#8211; FlarToolKit/Flash Augmented Reality</title>
		<link>http://www.suniljohn.com/blog/my-cat-jasmine-and-multiple-pattern-recognition-using-flarmultimarkerdetector-flartoolkitflash-augmented-reality/</link>
		<comments>http://www.suniljohn.com/blog/my-cat-jasmine-and-multiple-pattern-recognition-using-flarmultimarkerdetector-flartoolkitflash-augmented-reality/#comments</comments>
		<pubDate>Mon, 02 Mar 2009 03:48:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[FlarToolkit]]></category>
		<category><![CDATA[Papervision3D]]></category>
		<category><![CDATA[FLARMultiMarkerDetector]]></category>

		<guid isPermaLink="false">http://www.suniljohn.com/blog/?p=101</guid>
		<description><![CDATA[I&#8217;ve been experimenting with how Flash and FlarToolKit handles multiple patterns using FLARMultiMarkerDetector .  I&#8217;ve found that a lot of light is needed for the detector to work reliably with mutiple markers. Here are a couple screens of my progress so far using animated MD2 models of Boba Fett and Starscream. Thanks to my cat [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been experimenting with how Flash and FlarToolKit handles multiple patterns using <span>FLARMultiMarkerDetector</span> .  I&#8217;ve found that a lot of light is needed for the detector to work reliably with mutiple markers. Here are a couple screens of my progress so far using animated MD2 models of Boba Fett and Starscream.  Thanks to my cat Jasmine for the moral support.</p>
<p><a rel="shadowbox[FLARMultiMarkerDetector]" href="http://www.suniljohn.com/blog/wp-content/gallery/flartoolkitflash-augmented-reality-multiple-patterns/multi4.png"><img class="aligncenter size-thumbnail wp-image-217" title="multi4" src="http://www.suniljohn.com/blog/wp-content/uploads/2009/03/multi4-150x150.png" alt="multi4" width="370" height="370" /></a><br />
<a rel="shadowbox[FLARMultiMarkerDetector]" href="http://www.suniljohn.com/blog/wp-content/gallery/flartoolkitflash-augmented-reality-multiple-patterns/multi1.png"><img class="aligncenter size-thumbnail wp-image-218" title="multi1" src="http://www.suniljohn.com/blog/wp-content/uploads/2009/03/multi1-150x150.png" alt="multi1" width="370" height="370" /></a><br />
<a rel="shadowbox[FLARMultiMarkerDetector]" href="http://www.suniljohn.com/blog/wp-content/gallery/flartoolkitflash-augmented-reality-multiple-patterns/multi2.png"><img class="aligncenter size-thumbnail wp-image-219" title="multi2" src="http://www.suniljohn.com/blog/wp-content/uploads/2009/03/multi2-150x150.png" alt="multi2" width="370" height="370" /></a><br />
<a rel="shadowbox[FLARMultiMarkerDetector]" href="http://www.suniljohn.com/blog/wp-content/gallery/flartoolkitflash-augmented-reality-multiple-patterns/multi3.png"><img class="aligncenter size-thumbnail wp-image-220" title="multi3" src="http://www.suniljohn.com/blog/wp-content/uploads/2009/03/multi3-150x150.png" alt="multi3" width="370" height="370" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.suniljohn.com/blog/my-cat-jasmine-and-multiple-pattern-recognition-using-flarmultimarkerdetector-flartoolkitflash-augmented-reality/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>
