Thursday, April 4, 2013

Laval Virtual - Demo

Another one of the requirements of the capstone project at Polytechnique Montreal was that my team and I prepare a large scale virtual reality application to present during the Laval Virtual - Demos student competition. We implemented a novel pétanque simulator that would let the user throw the ball into the screen and make it continue seamlessly into the virtual world, without bouncing off the screen like regular golf simulators. We also added face tracking to modify the perspective of the user, and add real world crowd faces to the crowd in the game, therefore integrating them in the experience of the player.

We received an honorable mention for programming quality from the IVRC Tokyo (International collegiate Virtual Reality Contest). They were amazed by the overall quality and polish of our simulation, especially considering the project was done in two months’ time. I'm really happy with the result and the quality of our product. It truly is seamless, if there was something to adjust it would be the jitter in the screen after a ball is thrown as it takes something away from the experience.


To play, the user only has to place himself in front of the screen. The game detects his face, and applies it to his avatar in the upper left corner of the screen. Thanks to our calibration we can adjust the perspective off-center projection to the actual position of the users face. Furthermore, our world was built to 1:1 scale in order to effectively simulate the games physical conditions. The center camera also detects faces in the crowd which our distinct from the current players face. The game then, during play, plasters those faces onto the ragdolls sitting in the background. We also made the spectators look at the players throws to make them more dynamic. The goal of the crowd was to try and include the spectators in the simulation, to give them a sense of participating, even if they were only watching someone play. I think it worked pretty well as the crowd was often quite surprised to find their faces in the game.


To track the ball we used two high speed PlayStation eye cameras running at 185 fps, stereo calibrated using the opencv framework. I had never used OpenCV before and had a lot of fun playing around with it. I even had my own branch of OpenCV to fix a couple bugs that were holding me up during development.


All in all, after the competition we got onto the showroom floor, and seeing the crowd line up to play our game was amazing. We might not have won the grand prize, but we definitely won the crowds love, and that made the hard work and dedication it took to create this awesome product worth it. (The winner's kiosk was empty the entire weekend ;) )







0 comments:

Post a Comment