4.2 Design
4.2.3 Virtual Object Tracking
Figure 4.1: Diagram showing Air Cannon pan and tilt logic.
As briefly mentioned previously, the device will aim at any set of x, y values that is passed to it through the microcontroller. The device can follow the position of a virtual object as if it was in the physical space. As illustrated in figure 4.1, the device is aimed using two simple trigonometry calculations, one each for pan and tilt. These calculations take the position of the virtual object and the position of the device in the virtual world, which is set at the beginning of each play-through. Finally, a third position is calculated by raycasting left or right from the ball’s position until the collider which is projected through the centre of the play area, is triggered. Additionally, as the centre position of the servos is 90 degrees, this calculation also dictates whether the cannon subtracts or adds the resulting angle from the trigonometry calculation.
Once the game engine has completed the trigonometry calculation, the serial port will then be queried to ensure that it is not still communicating. If the serial port is clear the resulting angles will be sent for pan and tilt. If the virtual object has been blocked a signal will also be sent to trigger the cannon to fire. The micro-controller will read these values from the serial port, separate them and alter the position of the servos accordingly, as well as triggering the fire sequence if necessary.
4.2.4
Control Method
In regards to the control method to be used with the experience, considerations regarding freedom and ease of use were made. From the initial study it was found that the Leap Motion controller would not be appropriate for a virtual reality game, with a large portion of participants commenting on its inaccurate and restrictive nature. This was due to the limited area of effect for the sensor and the requirement that the participants hands are required to be directly in front of the Oculus Rift at all times.
An alternative to the Leap Motion controller would be a custom controller; however, as previously mentioned in the impact of haptic modalities on presence chapter of this thesis the development and verification of a custom controller would be too time consuming. An additional controller option was the use of an Xbox Kinect which would be able to track all the key points of the body and would not require the holding of a controller. However, upon testing the Kinect it was found that it would often lag behind and sometimes confuse and lose body parts completely. Consequently, due to this inconsistency the Kinect would not be reliable enough to be used in this research.
A final option is the use of the Oculus Touch controllers, which are already favourably reviewed and are supported with the Unity game engine. The main concern with using these controllers is that in order to hold them the palm of the hand is covered which may impact on the effectiveness of the air haptics. However, as these controllers are more ergonomic to fit in a users hand and are not a wand type of controller this may complete the sensation that is suggested by the air blasts. Furthermore, most of the hand is still uncovered, which would not be the case with a custom glove controller, allowing air sensations to still be felt. Finally, the use of Oculus Touch controllers allow the device to be comfortable when used with commercially available virtual reality technologies in an at home environment.
4.2.5
Virtual Environment
Finally the virtual environment that would be used to verify the effectiveness of the haptic device needed to be considered. It was decided to create the environment with the Unity game engine. The virtual environment for the device needed to be a short repeatable game experience that would hold the same fidelity as a current virtual reality game.
Two concepts for this environment were initially considered; the first being a tag archery game which would allow the blasts of air to simulate being hit. The issue with this concept is the complexity that the game could reach and the amount of explanation and tutorial that would be needed. Additionally, as this research is concerned with the impact haptics have on presence, the air haptics may be seen as more impactful as the only place vibrations from the controllers would be felt is the participants hands. The second concept was a football goalkeeping game, where balls would be fired towards the participant and the blasts of air would be felt when saving these balls. This also had the potential issue of vibrations only being felt in the hands when blocking a ball. However, it was hypothesised that if a player is only given visible hands, they will not try to use other parts of their body to block the balls.
It was decided to use this goalkeeper game in the study environment as it is a more intuitive game and participants would instantly understand the mechanics upon entering the game, thus requiring little or no interference from the principle investigator. Furthermore, the goalkeeper game would be fairly short and simple to develop, more time could be devoted to polishing and making the game feel more like a satisfying VR game. Finally, the goalkeeper experience would allow for a fairer comparison between vibrotactile, air and no haptics.