Monday 27 October 2008

How the axes work on the Wii Remote

If you move the Wii Remote along each of these axes then the values from the accelerometer along each axis will vary.

So moving the remote rapidly from side to side will cause change in the 'x' axis.

The sensitivity of the accelerometer in the remote (and indeed the Wii Nunchuck - they're the same spec) generally means that it's very difficult move along one axis at a time.

Now it's time to work out how to get this information recorded in Director!

Sunday 26 October 2008

Squeezii Schmiizii Diizii "Wiigee"

Ohhhhh, yes, the titles can and shall get worse than that...

In my quest for all things interactive and Wii, I stumbled apon this rather nice gesture-recognition library based in Java called Wiigee. It's being developed by several German university students and from the demo video it looks amazing.

I compiled all the code using Eclipse but, unfortunately, my Bluetooth stack ('Blue Soleil') and Bluetooth dongle aren't compatible with the requirements of the Java Bluetooth library, 'Bluecove' which requires 'L2CAP'.

To save the waffle, check out the following video on the Wiigee site:

http://www.wiigee.org/demovideo/demovideo.html

Links

Wiigee site: http://www.wiigee.org/index.html
L2CAP definition: http://en.wikipedia.org/wiki/Bluetooth_protocols#L2CAP_.28Logical_Link_Control_and_Adaptation_Protocol.29
Bluecove site: http://code.google.com/p/bluecove/
Eclipse site: http://www.eclipse.org/
Blue Soleil site: http://www.bluesoleil.com/

Thursday 23 October 2008

Using the Wii Remote with Director

Proof Of Concept time folks!

Using an example from my module for 3D graphics using Director and the example code for the Wii Remote Director Xtra, I've managed to demonstrate how it is indeed possible for the Wii Remote to change variables in Macromedia Director MX (note: the Xtra only seems to work for MX, those with the new Adobe Director probably won't get anything working, tough :P).

Obviously, this isn't exactly the first time anyone's done this before (yeh, obviously!) but this stage of my research moreorless defines the direction in which my project is likely to take - for the programming portion of it at least.

The screenshot below shows what I came up with... It's the quickest and dirtiest method, but I just needed to see for myself that it's possible to manipulate 3D graphics, albeit on a basic level, using the Wii Remote.

I set the program up to make the cube rotate about the x-axis and the sphere rotate about the y-axis. In terms of the Wii Remote this means that pointing it up or down will make the cube move and tilting it from side to side will make the sphere spin from side to side.

The program is very responsive with no delay between making the movement with the remote and seeing the result of the movement reflected on the screen.

When I placed the remote on a flat surface and flicked it to make it rock, even these small rocking movements were registered. All in all, this test was a complete success! The next test will be to import a terrain/model from 3dsMAX that's slightly more complicated, just to see if the smoothness of this test can be maintained.

One thing to note for all this - this is just taking the numbers from the Wii Remote Xtra and using them without performing any calculations. I also didn't have much regard for HOW the 3D models were moved/rotated, I just used the first method that came to hand, therefore the test doesn't respond as expected sometimes...!

The next task will be to have the 3D models moving in exact relation to the way the Wii remote is pitched or rolled. i.e. the changes aren't relative, they should be absolute! Another task will be to officially begin my research into specialised user-interfaces and methods of control. This will all hark back to my original ideas that involved the use of webcams - who knows, this method of control may crop up again in my project!

Wii & Director MX

Well, the software I'm using to make my project has changed since the hazy summer days when Flash seemed like the ideal option.

There are a few reasons for this!

One - Director MX has an Xtra that you can download for free that enables seamless integration between the Wii Remote and Director using very little Lingo code to get the data into the software...

Two - It's possible to import 3D models from 3dsMAX and then traverse them in Director - again with relatively little effort compared to using a 3D-engine with Flash (like Papervision 3D)

Three - The method of getting the data into Flash, using WiiFlashServer, required the use of AS3, some of which is radically different to AS2 and I personally do not have the time to update my knowledge of AS. As I have to learn Director's Lingo language for another module, it's easier really!

Next up is the proof-of-concept!

cheers...

Individual Project Proposal - Wiiiiiiii

Oh, it's been a while again...

Here's my project proposal - it's not the greatest prose in the history of English but it sort of does the job!

My project will centre around researching intuitive methods of interacting with a computer – be it a workstation, laptop or another bespoke computer system such as a games console or installation-art.

The first element of my project will be made up of research into the existing intuitive control methods or user interfaces that are available on the market today, and several from the past. Many user interfaces or methods of control aren't intuitive or natural and may require training to use. I shall be finding out why these methods of control have been successful, or not.

The bulk of the research will involve finding methods of interacting with the computer system that feel more 'human' or natural.

Over the course of the overall research into user interfaces, I shall also be investigating the many possibilities there are for capturing motion information onto a computer and then using it in a meaningful way. For example, the Nintendo Wii remote controller can be linked to a computer via Bluetooth and used with a variety of programming environments ranging from Flash, Director all the way through to many open-source developments.

The second part of the project will involve using the research to produce an application based in a 3D environment.

The control device that I will be using is the Nintendo Wii remote. This is due to the fact that it has a whole array of sensors (accelerometers) that send a continuous stream of information to be interpreted by the computer.

The aim is to give the user the ability to traverse the 3D environment without using any button presses, but rather using a series of different movements or gestures – the latter being much more natural. There have been many inventive uses for the sensors in the Wii remote, which is apparent from looking at the choice of games that are available for the Wii. Another of my aims when creating this application is to create a series of gestures that need to be carried out to move through the world (such as waving the remote in a circular motion or moving it very quickly, miming the swinging motion of a baseball bat). There may also be a game-playing element to this application.


That's it but it will be revised shortly...!