Keywords

1 Introduction

In his article of 2004 Teaching Virtual Reality: Why and How? Grigore C. Burdea [1] discussed several aspects concerning teaching virtual reality. His web worldwide survey [2] found that only 148 universities have virtual reality courses, 273 in the last update (2008). As stated by [3] “today the number of VR courses worldwide has risen, but most of the courses are theoretical and are deriving from computer graphic courses and cannot provide all of the required practical and soft skills”. Burdea pointed out that the reduced offer of Virtual Reality courses could be explained by the requirement of specialized and expensive equipment. Even if a VR course could only focus on theoretical principles, hands-on learning allows to increase and clarify knowledge and to directly experience –and then better understand- several concepts as immersion, natural interfaces or motion sickness. As stated by Burdea, hands-on experience is essential for true understanding of the field.

Affordable display and interaction devices for games and virtual reality are now available, going from Google Cardboard [4] to OculusRift [5] or OSVR Hacker Development Kit [6], and motion control devices as the LeapMotion [7] or the Microsoft Kinect [8]. These low-cost technologies have allowed us to set up an « open VR Lab » following a BYOD (Bring Your Own Device) approach. This lab supports the Vision and Augmented/Virtual Reality course offered in IMAGINA (Image, games and intelligent agents), a Master program of the Computer Science Department of the University of Montpellier. In our course, we apply several teaching methods like traditional lectures, devices’ demonstrations, hands-on training in form of labs and a final assignment, defined by students themselves, the development of a virtual reality application.

In this paper, our VR Laboratory and the Vision and Virtual/Augmented reality course are described in detail. Final course students’ projects are presented, with a focus on immersive displays and gesture recognition. To conclude, I will discuss the issues encountered during the several activities realized in our course.

2 The Vision and Virtual/Augmented Reality Course

The master IMAGINA (Images, Games and Intelligent Agents) is a two-year graduate program (accessible after a Bachelor degree) of the University of Montpellier. The objective of this program is to train engineers and researchers in the imaging industry, video games and simulators, able to master the theories, models and technologies related these industries. The curriculum is developed over four semesters with choices of major elective courses in the third semester. The last semester includes an internship in a company or research laboratory for a period of five months minimum.

The Virtual and Augmented Reality course was created en 2012, to introduce students to the concepts, hardware and software involved in the development of virtual and augmented reality applications. At the end of the course, students should have a thorough understanding of the theoretical and computational tools for the creation of VR/AR systems and the difficulties inherent to this type of technology. Students learn about the historical development of virtual and augmented reality, their theoretical foundations and applications, a reminder of computer graphics concepts (modelling, viewing, rendering, geometric objects and transformations, scene graph, texture mapping) and 3D user interaction. In 2015, our course (HMIN320 - Vision, Virtual and Augmented Reality) was extended to Computer Vision. Students learn about main computer vision concepts and techniques including tracking, stereovision, image processing and registration.

Several labs are proposed, concerning the application of computer vision techniques using Matlab and OpenCV, and also the development of an interactive virtual environment using Unity [9]. The final course project is done in teams of 2-3 students. In addition, students have to summarize a state of the art research article (from Siggraph or Disney Research available articles) and to present (and evaluate) their final course project. This set of learning activities aims to enhance their communication skills, teamwork abilities and critical thinking.

3 The Virtual Reality Laboratory

A virtual environment is a computer-generated world that relies on user’s tracking (head, hands, arms or the entire body) and multisensory rendering to create immersive experiences. Training is an application area perfectly suited to virtual reality [10]; environments and situations can be experimented under user’s control, at his own pace, without risks, in a very flexible way. Because VR allows to develop skills and to have confidence to work in real conditions with real equipment, it has also showed its potential in several fields as health care and industry.

When learning Virtual Reality, it is important to confront the manipulation of VR technology, to better understand the specific difficulties of this kind of applications in terms of immersion, usability, health and safety. In the first version of our course, some students added control to their VR applications with their own video game controllers. I did a funding request for some low-cost VR devices in order to allow all of interested students to experience this technology. The Computer Science department of University of Montpellier financed the purchase of several interaction and display devices for our course: The Oculus Rift DK1, a space Navigator, a Novint Falcon force-feedback joystick, a 5DT Dataglove, 2 Kinect and 4 video game controllers. More recently, the CS Department acquired a LeapMotion controller. Some other material resources as an Oculus Rift DK2 and a second LeapMotion can be borrowed from one of our industrial partners NaturalPad. This funding and our partnerships had enabled us to implement an open laboratory, with a BYOD (Bring Your Own Device) approach.

The VR lab is an « ephemeral installation ». The project’s room of the CS Department is large enough to accommodate a group of 25-30 people. The tables have power sockets and shelves to install the devices that are provided to students upon request. Video projection equipment is also available. Our lab serves as an alternative to highly immersive and expensive infrastructures as CAVEs and reduces licensing and maintenance costs.

After several demonstrations and initiation labs, five practical sessions of 3 h per week, are dedicated to the conception and development of the final course project. Students, organized in teams of 2-3 students, define themselves the nature of their project and the technologies to be integrated. The proposal is discussed and validate by lecturers. The final project presentation takes place the last session of the course. Each team presents its project and receives feedback from lecturers and the other teams. In addition, there is a prize “coup de coeur”, awarded to the project which has totalized the more votes during the projects presentation (Fig. 1).

Fig. 1.
figure 1

Students presenting their work at the VR Lab

Videos showing several moments of the final project presentation day and several project trailers are available at our channel http://bit.ly/20XewVR.

4 VR Projects

This year, projects were developed along two main axes: immersive displays and motion capture devices. 3 teams of 8 have chosen to produce a visual immersive experience and 4 teams have integrated gesture recognition devices. The next sections discuss these productions.

4.1 Immersive Displays

Recent years have seen emerge a number of low cost display devices for virtual reality. Head Mounted Displays (HMD) as the Oculus Rift are now affordable for the end user. There are also cheaper alternatives like Google Cardboard or the Archos VR Glasses [11] that made use of smartphones to create lightweight “pocket” VR experiences.

One of the teams of our course have focused on Oculus Rift integration for the project “No Man’s Ground”. In No Man’s Ground, the player, through a choice of 16 height maps, can generate a realistic terrain to be explored thereafter. The terrain appears gradually to create a futuristic feel. To integrate the Oculus Rift DK1, we tested different versions of the runtime, SDK and Unity plugins. Despite of our efforts, it was impossible to use the Oculus Rift DK1 for development in our laptops. One of our industrial partners, NaturalPad, provided us with an Oculus Rift DK2 to successfully finish the project. Given these difficulties, the two others team implementing immersive visual experiences turned to another solution: the Archos VR glasses (Fig. 2).

Fig. 2.
figure 2

Display devices: left Oculus Rift DK1, right Archos Vr Glasses

The Archos VR glasses like the Google cardboard, made use of the gyroscope and accelerometer from a smartphone to track the user’s point of view. The smartphone is just inserted into the glasses to have a stereoscopic 3D image.

When using VR glasses, the big concern is interaction. The two teams chosen two different solutions: the project “Virtual race” calculates the rendering for each eye and controls the racing car using a Bluetooth keyboard. The project “Experience” uses the Google Cardboard SDK for Unity, which provides stereoscopic view generation and head tracking. Experience is an exploration game where player’s movement follows her gaze direction.

As stated by the students, this kind of interaction keeps the game very simple but less dynamic. The integration of another input device is then an interesting perspective (Fig. 3).

Fig. 3.
figure 3

Screenshot of the project “Experience”, designed for the Archos VR glasses or Google Cardboard.

4.2 Gesture Recognition

As display devices, low cost interaction devices have appeared in recent years. Designed primarily for video games, they address “natural” interfaces: intuitive, based on gesture recognition, having a very low learning curve. We can cite the Kinect and the Leap Motion, two wireless touchless devices that allow recognizing the position and movements of the user (Kinect) or of her hands and fingers (LeapMotion).

Fig. 4.
figure 4

Gesture recognition devices: left Microsoft Kinect, right Leap Motion

3 teams have chosen the LeapMotion as input device. The Leap is designed to lay on the desktop. To interact, the user makes gestures over the controller with the hands, fingers, or finger-like objects such as a pen or pencil (Fig. 4).

The Leap Motion SDK for Unity provides a hand 3D model mapping user’s hands movements. It also detects predefined gestures like swipe or tap. The project “Leap Flowers”, based on PS3 game “Flowers”, aims to drive an object through a virtual environment using simple actions. Students decided to provides only few commands: turn left/right, go up/down, accelerate/decelerate.

When using LeapMotion or Kinect controller no support can be employed for the user arms or hands, inducing discomfort and fatigue. As shown in figure above, gestures have been chosen to decrease user’s fatigue. For example, instead of using a hand movement to accelerate/decelerate, the user open or close his hand. By linking acceleration with hand opened or closed, the user hand is no longer passive and shoulder is less subject to strong efforts. Furthermore, this gesture was more effective and intuitive when tested, a muscle contraction being a natural response to an “emergency” situation (e.g. stopping to avoid a collision).

The “Créa-Main” project used Kinect and a 5DT DataGlove [12] to create objects by assembling simple cubes (“Voxel Art”). Kinect allows detecting the position of the two hands of the user while the Dataglove measures fingers flexures. Right hand controls systems commands (e.g. camera rotation) while left hand, the one wearing the glove, maps to a 3D hand performing interaction with the 3D scene and the virtual cubes.

There are several technical difficulties when implementing gesture recognition as detection of involuntary movements, lack of haptic feedback and user’s fatigue. In addition to these technical challenges, it is very important to consider user acceptance. The gestures applications language has to be learned and adopted so it needs to be simple and intuitive.

Fig. 5.
figure 5

In the “Créa-Main” project, the virtual hand (right) is controlled by a combination of Kinect and Dat Glove controllers.

5 Discussion

The quality of the projects presented this year show that the goals of our course are fulfilled (acquire knowledge of virtual reality hardware, software and applications). The divers projects also shows the three most important aspects of VR, according to Burdea and Coiffet [13]: immersion, interaction and imagination.

Students have enjoyed their work as spontaneously qualitative feedback points out:

  • “Given the scope of its applications and as part of the training of integration of new development tools, learn to use the Oculus Rift is a great way to understand emerging technologies”.

  • “This project was a good introduction to the issues related to the use of Unity, the Leap Motion and the needs of analysis while working with gestures. Thinking process about player’s perspective to make a game pleasant, intuitive and easy to handle has been both rewarding and exciting”.

  • “This project allowed us above all to be open-minded about new technology as the Leap Motion, cause we hadn’t had a chance to tested it before this course. We were able to learn how to integrate it in our application to control a virtual object using hand movements. The project also allowed a reflection about how to integrate this kind of technology into a project. In fact, many times we have made changes on both the game design and the level design during the integration of the device”.

  • “We are pleased with the final outcome of our game and we were seduced by virtual reality. We created a nice experience that people who had the opportunity to try have appreciated”.

As showed before, the final project is a good experience for students. They work in an application defined by students themselves, which leads to higher motivation and better results. Indeed, they use the final project to improve their portfolio and “impress” their personal and professional circles. This is very useful during internship search, next and final phase of the Master curriculum.

6 Conclusion

The IMAGINA Master program of the Computer Science Department of the University of Montpellier aims to prepare graduates for professional activities concerning games, interaction, simulation, and computer vision in a wide variety of industries.

The course HMIN320 – Vision, Virtual and Augmented Reality students learn about essential concepts of these fields, and are also confronted to their technical, ergonomic and social challenges. The Computer Science Department financed the purchase of several VR devices: Oculus Rift, Kinect, LeapMotion and 5DT DataGlove. These low-cost devices, rapidly deployable are combined to a BYOD approach to create a short-lived VR Lab when needed. This classroom space is used in a multimodal and versatile manner; it is also used for our final project presentations day.

At present, several displays and interaction devices are affordable for the end user. We believe it is important to introduce students to these technologies to facilitate understanding of the key issues of their integration into a project. The course has a traditional lecture-based approach combined with practical sessions, in order to ensure a minimal knowledge concerning basic concepts and the tools to be used.

15 h at the end of the course are dedicated to the conception and development of the final course project. Students, organized in groups of 2-3 people, choose the topic of the project and the technologies to be used. We have noticed that this organization strongly motivate the students, they work on the project in their spare time, and is often used to show their skills during internship research. In addition to their teamwork abilities, the students’ communication skills are enhanced by reading of scientific research papers and the presentation of the final course project.

In the article Teaching Virtual Reality: Why and How? G.C. Burdea pointed out that the reduced offer of Virtual Reality courses could be explained by the requirement of specialized and expensive equipment. As discussed in this paper, a set of low-cost devices coupled to a versatile academic space, allow us to develop a VR lab targeted to make VR technology accessible to a greater number of undergraduate and graduate students of Computer Science Department (Fig. 5).