<?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"
	>

<channel>
	<title>work in progress - toni da luz</title>
	<atom:link href="http://remanences.org/workinprogress/feed/" rel="self" type="application/rss+xml" />
	<link>http://remanences.org/workinprogress</link>
	<description>a french interaction designer trying to do ... hum ... somethings</description>
	<pubDate>Wed, 14 Jul 2010 18:22:40 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.2</generator>
	<language>en</language>
			<item>
		<title>[how to] Virtools multipoint</title>
		<link>http://remanences.org/workinprogress/2010/07/how-to-virtools-multipoint/</link>
		<comments>http://remanences.org/workinprogress/2010/07/how-to-virtools-multipoint/#comments</comments>
		<pubDate>Wed, 14 Jul 2010 18:20:37 +0000</pubDate>
		<dc:creator>Toni</dc:creator>
		
		<category><![CDATA[how to]]></category>

		<category><![CDATA[multipoints]]></category>

		<category><![CDATA[multitouch]]></category>

		<category><![CDATA[ray casting]]></category>

		<category><![CDATA[virtools]]></category>

		<guid isPermaLink="false">http://remanences.org/workinprogress/?p=99</guid>
		<description><![CDATA[

One mouse, one pointer, is sometimes not enough! It was my problem for one application, I needed to control 2 pointer with two wiimotes, so I found a trick only using Virtools&#8217; native building blocks and 3D primitives resources.
The idea is similar to the accepted-fact that if someone point something with its finger, another person [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">
<p class="MsoNormal">
<p class="MsoNormal"><span lang="EN-US">One mouse, one pointer, is sometimes not enough! It was my problem for one application, I needed to control 2 pointer with two wiimotes, so I found a trick only using Virtools&#8217; native building blocks and 3D primitives resources.</span></p>
<p class="MsoNormal"><span lang="EN-US">The idea is similar to the accepted-fact that if someone point something with its finger, another person will not see the same thing pointed.</span></p>
<p class="MsoNormal"><span lang="EN-US">The system has a lot of common points with the human view and gestures, we can figuratively speaking, decompose it by <span> </span>three objects on the following figures:</span></p>
<p style="text-align: center;"><a href="http://remanences.org/workinprogress/wp-content/uploads/2010/07/multipointsystem2.jpg"><img class="size-full wp-image-103 aligncenter" title="Multipoint System" src="http://remanences.org/workinprogress/wp-content/uploads/2010/07/multipointsystem2.jpg" alt="Multipoint System" width="500" height="321" /></a></p>
<p class="MsoNormal"><span lang="EN-US">-The eyes as the system’s camera.</span></p>
<p class="MsoNormal"><span lang="EN-US">-A finger (or more) in order to point an object which will be the pointer on the screen. A simple point, nevermind what kind of 3D object.</span></p>
<p class="MsoNormal"><span lang="EN-US">-A window. In this system I chose to attach the transparent plane, very close to the camera in front of it, which will perfectly fit to its field of view. Like a windows in front of us where we will put our fingers in order to point an object on the other side&#8217;s environment. This plane handles the pointers in order to easily define their position on the plane proportionally to the screen resolution.</span></p>
<p class="MsoNormal"><span lang="EN-US">-A light ray, an invisible ray launched that will pass by the eye then by the pointer (the &#8220;finger&#8221;) and finally reach the object wanted to be pointed. To make it easier you use a simple trick <span> </span>with simple 3D primitive (a tube for example) from the Virtool resources, and put it at the exact same position than the camera. The pivot point must be at 0,0,0 (regarding to the camera position). So with this object you can make it looking at the pointer on the&#8221; window&#8221; <span> </span>all the time and use it to control a &#8220;ray&#8221;.</span></p>
<p class="MsoNormal"><span lang="EN-US">To recreate this situation of pointing, we use one main tools integrated in Virtools, the Building Blocks“ Ray Intersection ”. This Building Block returns the first object, of a specific group, intersected.</span></p>
<p class="MsoNormal"><span lang="EN-US">The system uses it in order to launch a ray from the center position of the camera, which will pass through a pointer and return the first object intersected. Relatively simple, this system needs &#8220;3D entities&#8221; as pointers, placed in the virtual world at least at the beginning of the camera field of view, instead of a usual mouse pointer that can be considered as a layer on the screen.</span></p>
<p class="MsoNormal" style="text-align: center;"><a href="http://remanences.org/workinprogress/wp-content/uploads/2010/07/virtoolssmallscript.jpg"><img class="aligncenter size-full wp-image-104" title="Virtools Script" src="http://remanences.org/workinprogress/wp-content/uploads/2010/07/virtoolssmallscript.jpg" alt="" width="500" height="246" /></a></p>
<p class="MsoNormal"><span lang="EN-US">So with two values X &amp; Y we can control these pointers on the plane. You can use everything you want as value input (I use wiimote data), It can be an opportunity to use OSC/TUIO values to create this kind of pointer dynamically and have multitouch on virtools.</span></p>
<p class="MsoNormal"><span lang="EN-US"><em>After making this tutorial I found some similar works, no especially for Virtools, and the most important the name of this method : the <strong>ray casting</strong></em><em>. So if you want more information It can be a good start.</em> </span> <img src='http://remanences.org/workinprogress/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://remanences.org/workinprogress/2010/07/how-to-virtools-multipoint/feed/</wfw:commentRss>
		</item>
		<item>
		<title>[how to] wii balance-board &gt; glovePIE &gt; midi &gt; virtools</title>
		<link>http://remanences.org/workinprogress/2009/05/how-to-wii-balance-board-glovepie-midi-virtools/</link>
		<comments>http://remanences.org/workinprogress/2009/05/how-to-wii-balance-board-glovepie-midi-virtools/#comments</comments>
		<pubDate>Sun, 10 May 2009 22:35:32 +0000</pubDate>
		<dc:creator>Toni</dc:creator>
		
		<category><![CDATA[how to]]></category>

		<category><![CDATA[glovePIE]]></category>

		<category><![CDATA[hardware]]></category>

		<category><![CDATA[midi]]></category>

		<category><![CDATA[virtools]]></category>

		<category><![CDATA[wii]]></category>

		<category><![CDATA[wiifit]]></category>

		<guid isPermaLink="false">http://remanences.org/workinprogress/?p=74</guid>
		<description><![CDATA[I wanted to use the wiifit into virtools, so first I looked for a BuildingBlock, but I didn&#8217;t find BB in order to use the WiiFit Balance-board. If you have one please tell me ^^ ! So Instead I tried (successfully) to use GlovePIE and send informations to Virtools via MIDI.
Before, I want to say [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">I wanted to use the wiifit into virtools, so first I looked for a BuildingBlock, but I didn&#8217;t find BB in order to use the WiiFit Balance-board. If you have one please tell me ^^ ! So Instead I tried (successfully) to use GlovePIE and send informations to Virtools via MIDI.</p>
<p style="text-align: left;"><span style="color: #999999;"><em>Before, I want to say that their are others methods, but I use Vista X64 and the drivers must be signed (ok you can change that too ^^ ). For example you can use the balance-board with GlovePIE and PPJoy to create a joystick, but it&#8217;s a chore on x64 <img src='http://remanences.org/workinprogress/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> . So this example is not THE solution !<br />
</em></span></p>
<p style="text-align: left;">So, what do we need to do that ?<br />
- a Wii Balance-Board &amp; Virtools <img src='http://remanences.org/workinprogress/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
- Something to connect your balance-board using bluetooth (I use <a href="http://www.bluesoleil.com/">BlueSoleil</a>), If you had already try (and succeed <img src='http://remanences.org/workinprogress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ) to connect a wiimote it&#8217;s the same thing.<br />
- <a href="http://remanences.org/workinprogress/files/wii-midi/GlovePIE030.zip">GlovePIE 3.0</a> , for information <a href="http://carl.kenner.googlepages.com/glovepie">Carl Kenner</a> only give 2.9 link because 3.0 has serious bugs with the wiimote. But the <strong>2.9 doesn&#8217;t have the Balance-Board support</strong>. This is the <a href="http://remanences.org/workinprogress/files/wii-midi/GlovePIE030.zip">file</a> found somewhere else.<br />
- <a href="http://remanences.org/workinprogress/files/wii-midi/MidiYokeSetup.msi">MidiYoke </a>, in order to virtualize a MIDI Port and get informations into Virtools (or any other software using MIDI Input).</p>
<p style="text-align: left;">Actually the process is very easy. Even if I spent some times on this (in order to find the right solution), I&#8217;m sure you will spend few minutes !</p>
<p style="text-align: left;"><strong>Step 1. install MidiYoke</strong><br />
Installation is fast but you will need to reboot after.</p>
<p style="text-align: left;"><strong>Step 2. connect the Balance-Board</strong><br />
When you use a wiimote, you can synchronize it with the Wii (or your computer) by pressing 1+2. But the Wii-BB doesn&#8217;t have external button to synchronize. So in order to be detected as bluetooth device you will have to open the battery gate and push the red button (keep it pressed until the device is fully connected).</p>
<p style="text-align: center;"><a href="http://remanences.org/workinprogress/wp-content/uploads/2009/05/wiifit_open.jpg"><img class="size-medium wp-image-83 aligncenter" title="wiifit open" src="http://remanences.org/workinprogress/wp-content/uploads/2009/05/wiifit_open-300x168.jpg" alt="" width="300" height="168" /></a></p>
<p style="text-align: center;"><a href="http://remanences.org/workinprogress/wp-content/uploads/2009/05/wiifitbs-01.jpg"><img class="size-medium wp-image-78 aligncenter" title="wiifit bluesloeil 1" src="http://remanences.org/workinprogress/wp-content/uploads/2009/05/wiifitbs-01-300x202.jpg" alt="" width="300" height="202" /></a></p>
<p style="text-align: center;"><em>a - detect the balance board</em></p>
<p style="text-align: center;"><a href="http://remanences.org/workinprogress/wp-content/uploads/2009/05/wiifitbs-02.jpg"><img class="aligncenter size-medium wp-image-79" title="wiifit bluesoleil 2" src="http://remanences.org/workinprogress/wp-content/uploads/2009/05/wiifitbs-02-300x202.jpg" alt="" width="300" height="202" /></a></p>
<p style="text-align: center;">b - get services (as Human Interface Device)</p>
<p style="text-align: center;"><a href="http://remanences.org/workinprogress/wp-content/uploads/2009/05/wiifitbs-03.jpg"><img class="size-medium wp-image-80 aligncenter" title="wiifit bluesoleil 3" src="http://remanences.org/workinprogress/wp-content/uploads/2009/05/wiifitbs-03-300x202.jpg" alt="" width="300" height="202" /></a></p>
<p style="text-align: center;">c - connect the device</p>
<p style="text-align: center;"><a href="http://remanences.org/workinprogress/wp-content/uploads/2009/05/wiifitbs-04.jpg"><img class="aligncenter size-medium wp-image-81" title="wiifit bluesoleil 4" src="http://remanences.org/workinprogress/wp-content/uploads/2009/05/wiifitbs-04-300x202.jpg" alt="" width="300" height="202" /></a></p>
<p style="text-align: center;">d - now it&#8217;s ok you can release the red button !</p>
<p style="text-align: left;"><strong>Step 3. launch GlovePIE 3.0 and create a script</strong></p>
<p>Launch GLovePIE and load this <a href="http://remanences.org/workinprogress/files/wii-midi/wiifit_midi.PIE">script</a>. (it&#8217;s a mix between different scripts ^^). It is very easy ot understand (I think) and you&#8217;ll can change it easily after.</p>
<p>First we have to check if the board works. You can see that at the end of the script their is a debug line :</p>
<blockquote><p>//GlovePIE Debug<br />
debug = &#8220;X: &#8220;+ var.Xinit +&#8221; Y: &#8220;+ var.Yinit</p></blockquote>
<p>When you will run the script the debug informations will appear on the upper-right corner of the GlovePIE window. So now <strong>run the script </strong>!<br />
If everything is right you must have numbers on the debug window (different from 0.00).</p>
<p style="text-align: center;"><a href="http://remanences.org/workinprogress/wp-content/uploads/2009/05/gloevepie.jpg"><img class="size-medium wp-image-84 aligncenter" title="glovepie DEBUG" src="http://remanences.org/workinprogress/wp-content/uploads/2009/05/gloevepie-300x283.jpg" alt="" width="300" height="283" /></a></p>
<p><em>(If it doesn&#8217;t work try to reconnect reload GlovePIE or retry from step 1, actually some times my balance board disconnect itself, don&#8217;t know why.)</em></p>
<p>Now you can climb proudly ( <img src='http://remanences.org/workinprogress/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> ) on the board and the numbers must change. In order to initialize the wiifit you have to stay on the board and use your mouse:<strong> left click</strong> (I chose the mouse because mine is wireless and it&#8217;s easier to stay static on the balance-board).<br />
If you want to change that you just have to modify this lines :</p>
<blockquote><p>line 10. If mouse.LeftButton = true<br />
line 17. mouse.LeftButton = false</p></blockquote>
<p>and put a keyboard action instead or anything else.<br />
Move on your board and check the variations of values.</p>
<p><strong>Step 4. send what you need</strong><br />
On this script you have two main values that I wanted to use (values between -1 and 1 just like any other joystick, for other reasons).<br />
:</p>
<blockquote><p>var.Xinit // left/right from -1 to 1.<br />
var.Yinit // foward/backward from -1 to 1</p></blockquote>
<p>this two values are calculate from the main properties of the board, so you can get all this informations about the board :</p>
<blockquote><p>//sensors values<br />
Wiimote.BalanceBoard.RawFrontLeft<br />
Wiimote.BalanceBoard.RawFrontRight<br />
Wiimote.BalanceBoard.RawBackLeft<br />
Wiimote.BalanceBoard.RawBackRight</p>
<p>//weight<br />
Wiimote.BalanceBoard.Weight<br />
Wiimote.BalanceBoard.WeightBack<br />
Wiimote.BalanceBoard.WeightFront<br />
Wiimote.BalanceBoard.WeightLeft<br />
Wiimote.BalanceBoard.WeightRight</p>
<p>//use as Human Joystick (doesn&#8217;t work very well on mine)<br />
Wiimote.BalanceBoard.JoyX<br />
Wiimote.BalanceBoard.JoyY</p></blockquote>
<p>In order to send midi value you have to convert value in order to get variation between 0 and 127. Now let&#8217;s see how we can send informations.</p>
<blockquote><p>midi2.Channel1.FirstNote =  ((var.Xinit+1)*127)/2<br />
midi2.Channel2.FirstNote =  ((var.Yinit+1)*127)/2</p></blockquote>
<p>Use the midi2, that correspond to the virtual midi-port, you can use up to 16 channel (if you don&#8217;t select channel it will be the channel 1), and use the First Note value (actually you can use 4 notes, but I didn&#8217; find how to get them into Virtools, so I use different channels instead). Here I send the Left/Right value through Channel 1 and Foward/Backward through Channel 2. In this case 0 to 127 equal -1 to 1, so 63 is the value sent when nothing happen.</p>
<p>That&#8217;s all for GlovePIE !</p>
<p><strong>Step 5. launch Virtools</strong></p>
<p>Ok, now we only 2 building blocks <img src='http://remanences.org/workinprogress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> and that&#8217;s all ! Actually I&#8217;m not very used to MIDI in Virtools (and MIDI at all <img src='http://remanences.org/workinprogress/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> ). Set the Midi input to <strong>0</strong> with the BB &#8220;<strong>Set Midi Input Port</strong>&#8221; , and after you just have to read datas with the BB &#8220;<strong>Read Midi</strong>&#8221; (both BB are in the category <em>Controller </em>&gt; <em>Midi</em>). On the last BB edit the parameter <strong>Channel to 0 for the Channel 1 of GlovePIE</strong> and 1 for 2, 2 for 3 &#8230; And get the Output <em>Note</em> value. In this example I get the value from the two different channels using two BB Read Midi. (don&#8217;t forget to run the GlovePIE script <img src='http://remanences.org/workinprogress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> )</p>
<p style="text-align: center;"><a href="http://remanences.org/workinprogress/wp-content/uploads/2009/05/virtools.jpg"><img class="size-medium wp-image-90 aligncenter" title="virtools" src="http://remanences.org/workinprogress/wp-content/uploads/2009/05/virtools-300x85.jpg" alt="" width="300" height="85" /></a></p>
<p>That&#8217;s all ! As I said it was very easy, now do what you want to do with this values !</p>
<p><strong>Soon I&#8217;ll show you what I made with the Balance-Board !</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://remanences.org/workinprogress/2009/05/how-to-wii-balance-board-glovepie-midi-virtools/feed/</wfw:commentRss>
		</item>
		<item>
		<title>hello world (&#8230;again)</title>
		<link>http://remanences.org/workinprogress/2009/05/hello-world-again/</link>
		<comments>http://remanences.org/workinprogress/2009/05/hello-world-again/#comments</comments>
		<pubDate>Sun, 10 May 2009 01:21:59 +0000</pubDate>
		<dc:creator>Toni</dc:creator>
		
		<category><![CDATA[blog]]></category>

		<guid isPermaLink="false">http://remanences.org/workinprogress/?p=72</guid>
		<description><![CDATA[Hi, again, the aim of this blog is totaly different from the previous version. Now, it will be about my experimentations in order to create &#8230; hum &#8230; something ^^ , so you&#8217;ll can find articles about : multitouch, actionscript, virtools, wii-things, virtual reality stuffs, &#8230; Actually it will depend on what I want to [...]]]></description>
			<content:encoded><![CDATA[<p>Hi, again, the aim of this blog is totaly different from the previous version. Now, it will be about my experimentations in order to create &#8230; hum &#8230; something ^^ , so you&#8217;ll can find articles about : multitouch, actionscript, virtools, wii-things, virtual reality stuffs, &#8230; Actually it will depend on what I want to do, I&#8217;m not interested into one specific technology.</p>
]]></content:encoded>
			<wfw:commentRss>http://remanences.org/workinprogress/2009/05/hello-world-again/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
