News
It's all action in WiiR3D's elaboration phase. We have been working towards creating an architectural prototype and extending on Johnny Lee's target room to build a prototype of our Menu room.
As you can see, we've had a go at building some basic 3D models and the perspective control still needs some work, but we're definitely making progress.
We have also received, from the very kind people at OpenKMQ, a new headset and Wiimote holder. It is very lightweight (PET plastic), designed with head tracking applications in mind, and definitely an excellent option for anyone building their own IR LED headset. We are particularly fond of their Wiimote holder, which mounts easily on a flatscreen monitor. This position for the Wiimote is ideal for when users are playing a game while sitting at the computer.
We still are looking into options for a way to mount the Wiimote when the user is playing is a standing position - a kind of retort stand has been suggested, as well as something based on a camera tripod.
In other news, our official website is now under construction, as you may have noticed. You can visit via the navigation bar at the top of our blog, or access it directly. We will be working to have the site fully functional within the next few weeks.
From the WiiR3D team Jessica Lloyd
Hello all! My work lately has been quite engaging - I've enjoyed trying my hand at 3D modelling as well as webpage design.
No-one in the team has worked in 3D modelling before, so giving that a try was quite a learning experience. I'm still in my early stages, but I did build the objects that you saw in the Menu room, and have been experimenting with some more organic-looking objects.
It's also been my pleasure to put together our official website. Google's been such a good host for our project thus far, it seemed natural to utilise GooglePages. I haven't designed a web page before, but Google's simple WYSIWYG editor helped me build (what I'd like to believe is) a professional site to promote the WiiR3D product. Adam Parkes
Hi Everyone,
Things that I’ve been doing over the last month include:
- 3D model development
- Working with XNA to develop a menu room
- Developing the structure of the server
- Developing the IHeadTrackingDriver interface
- Developing the WiiHeadTrackingDriver class
- Developed a HeadTrackingSimulatorDriver
- Wiimote as a gaming input device.
- Continue to work with the Wiimote to get it to act as an input device.
- Continue developing the IHeadTrackingDriver interface
- Develop the ErroringHeadTrackingSimulatorDriver.
- Start working on panda3D.
- Integrating the Client into the demonstration room.
- Investigate Wiimote libraries for python.

Progress report [5/4 – 17/5]:
Tasks I was responsible for over the past month-and-a-half include:
• Spiking XNA
The goal for this task was to play around with C# and the XNA framework, in order to determine its feasibility for the games we’ll be building, as well as to establish a baseline architecture if it does prove feasible. A basic "cube grid room," was constructed, which utilizes the same perspective projection manipulation performed in Johnny Lee’s DesktopVR application. Issues regarding the correctness of the perspective projection arose during development (see above.) Additionally, it was decided that whilst XNA does provide a suitable abstraction over the graphics device and 3D rendering, it may be more appropriate to use an engine which would allows us to quickly develop, test and modify some sort of 3D environment. To this end, it was decided that the Panda3D game engine should be used. Panda3D is written in C++, though can be fully utilized from within the Python scripting language.
• Head-tracking gear construction
Following the advice of Christian Muise, the 9V batteries from the prototype head-gear were replaced with 3V (2025) watch batteries, in order to achieve a smaller form factor. Currently, the head-tracking gear consists of three small infrared LED circuits attached to a pair of safety glasses. Additionally, a shipment of TSAL 6200, 6400 and 7400 infrared LEDs have just arrived (thanks Jess!), which I intend to experiment with. The TSAL line of infrared LEDs are recommended by Johnny Lee, and so it would be interesting to see what differences (viewing angle and range) they make when compared with the stock Dick Smith Electronics infrared LEDs.
Also worth mentioning is the equipment received from Pixel Partner, in particular, the reflector-based glasses and the Wiimote monitor stand. We found that the reflector-based glasses were too flimsy to wear comfortably, due to the type of plastic (PET-G) used in its construction. However, we found that the Wiimote monitor stand proved to be an ideal solution for the placement of the Wiimote.
• Head-pose tracking algorithms
Potential head-pose tracking algorithms aimed for three-point tracking were investigated. Two worth mentioning are “Simple, Robust and Accurate Head-Pose Tracking Using a Single Camera” and POSIT. The former paper describes a method of pose-tracking via root approximation of parametric equations representing the points in 3D space. The latter is used in the FreeTrack project. Fellow WiiR3D member Buu is working on the head-tracking computation, see below for more information.
• Head-Tracking Server
The WiiR3D system is comprised of a server-client type architecture. The server, written in C#, does the majority of the grunt-work, and is responsible for performing the gesture recognition, head-pose and distance calculations and broadcasting this over a datagram (UDP) socket. This allows developers to easily utilise our information from any language (compiled or otherwise), as long as they have support for sockets. Currently we have a functioning iterative server written in C# which is able to communicate with a listening client over UDP. For simplicity, a fixed-length protocol has been designed for all communications between server and client.
• Standard documentation (protocol description and basic operation for server, construction of the head-gear, head-tracking computation, configuration and usage)
Tasks to do in the immediate future:
• Spike the Panda3D engine.
• Investigate issues with perspective manipulation.
• Look into head gesture recognition
• Implement link-status in the server (rudimentary syn/ack over UDP)
• Multithreaded server.
• Improve head-tracking gear (parallel circuit, use TSAL LEDs)

Hello all,
Yeah, I don't have much to talk about since the other guys have talked about all the stuff we've done. During the elaboration phase, I was working with the mathematics for head tracking calculation and am still working on that. I also have enjoyed modelling for project.
My goal in the immediate future is to finish all the maths work and translate it into code so that we can use it for a real head tracking application.